Created
August 30, 2021 15:32
-
-
Save CIAvash/3cc8d203ab527ddf9fe8079549d6d6d0 to your computer and use it in GitHub Desktop.
Source code of Rakudo's Grammar.nqp file, highlighted by Chroma
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> | |
<svg width="2528px" height="98894px" xmlns="http://www.w3.org/2000/svg"> | |
<style> | |
@font-face { | |
font-family: 'Liberation Mono'; | |
src: url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff');' | |
font-weight: normal; | |
font-style: normal; | |
} | |
</style><rect width="100%" height="100%" fill="#282c34"/> | |
<g font-family="Liberation Mono" font-size="14px" fill="#b0c4de"> | |
<text x="0" y="1.200000em" xml:space="preserve"><tspan fill="#c678dd">use</tspan> <tspan fill="#76a9f9">QRegex</tspan>; | |
</text><text x="0" y="2.400000em" xml:space="preserve"><tspan fill="#c678dd">use</tspan> <tspan fill="#76a9f9">NQPP6QRegex</tspan>; | |
</text><text x="0" y="3.600000em" xml:space="preserve"><tspan fill="#c678dd">use</tspan> <tspan fill="#76a9f9">NQPP5QRegex</tspan>; | |
</text><text x="0" y="4.800000em" xml:space="preserve"><tspan fill="#c678dd">use</tspan> <tspan fill="#76a9f9">Perl6::Actions</tspan>; | |
</text><text x="0" y="6.000000em" xml:space="preserve"><tspan fill="#c678dd">use</tspan> <tspan fill="#76a9f9">Perl6::World</tspan>; | |
</text><text x="0" y="7.200000em" xml:space="preserve"><tspan fill="#c678dd">use</tspan> <tspan fill="#76a9f9">Perl6::Pod</tspan>; | |
</text><text x="0" y="8.400000em" xml:space="preserve"> | |
</text><text x="0" y="9.600000em" xml:space="preserve"><tspan fill="#c678dd">role</tspan> <tspan fill="#76a9f9">startstops</tspan><tspan fill="#c7bf54">[</tspan><tspan fill="#dcaeea">$start</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$stop1</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$stop2</tspan><tspan fill="#c7bf54">]</tspan> { | |
</text><text x="0" y="10.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">starter</tspan> {<tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea">$start</tspan><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="12.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">stopper</tspan> {<tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea">$stop1</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea">$stop2</tspan><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="13.200000em" xml:space="preserve">} | |
</text><text x="0" y="14.400000em" xml:space="preserve"> | |
</text><text x="0" y="15.600000em" xml:space="preserve"><tspan fill="#c678dd">role</tspan> <tspan fill="#76a9f9">startstop</tspan><tspan fill="#c7bf54">[</tspan><tspan fill="#dcaeea">$start</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$stop</tspan><tspan fill="#c7bf54">]</tspan> { | |
</text><text x="0" y="16.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">starter</tspan> {<tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea">$start</tspan><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="18.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">stopper</tspan> {<tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea">$stop</tspan><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="19.200000em" xml:space="preserve">} | |
</text><text x="0" y="20.400000em" xml:space="preserve"> | |
</text><text x="0" y="21.600000em" xml:space="preserve"><tspan fill="#c678dd">role</tspan> <tspan fill="#76a9f9">stop</tspan><tspan fill="#c7bf54">[</tspan><tspan fill="#dcaeea">$stop</tspan><tspan fill="#c7bf54">]</tspan> { | |
</text><text x="0" y="22.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">starter</tspan> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">!</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="24.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">stopper</tspan> {<tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea">$stop</tspan><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="25.200000em" xml:space="preserve">} | |
</text><text x="0" y="26.400000em" xml:space="preserve"> | |
</text><text x="0" y="27.600000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"># This role captures things that STD factors out from any individual grammar,</tspan> | |
</text><text x="0" y="28.800000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"># but that don't make sense to go in HLL::Grammar.</tspan> | |
</text><text x="0" y="30.000000em" xml:space="preserve"><tspan fill="#c678dd">role</tspan> <tspan fill="#76a9f9">STD</tspan> { | |
</text><text x="0" y="31.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">opener</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="32.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="33.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">0028</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">003C</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">005B</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">007B</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">00AB</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">0F3A</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">0F3C</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">169B</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2018</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">201A</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">201B</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="34.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">201C</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">201E</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">201F</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2039</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2045</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">207D</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">208D</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2208</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2209</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">220A</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2215</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="36.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">223C</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2243</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2252</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2254</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2264</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2266</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2268</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">226A</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">226E</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2270</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2272</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="37.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2274</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2276</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2278</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">227A</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">227C</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">227E</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2280</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2282</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2284</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2286</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2288</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="38.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">228A</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">228F</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2291</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2298</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22A2</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22A6</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22A8</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22A9</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22AB</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22B0</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22B2</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="39.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22B4</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22B6</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22C9</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22CB</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22D0</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22D6</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22D8</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22DA</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22DC</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22DE</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22E0</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="40.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22E2</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22E4</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22E6</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22E8</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22EA</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22EC</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22F0</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22F2</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22F3</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22F4</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22F6</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="42.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">22F7</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2308</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">230A</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2329</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">23B4</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2768</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">276A</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">276C</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">276E</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2770</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2772</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="43.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2774</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">27C3</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">27C5</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">27D5</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">27DD</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">27E2</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">27E4</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">27E6</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">27E8</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">27EA</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2983</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="44.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2985</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2987</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2989</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">298B</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">298D</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">298F</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2991</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2993</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2995</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2997</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">29C0</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="45.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">29C4</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">29CF</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">29D1</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">29D4</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">29D8</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">29DA</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">29F8</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">29FC</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2A2B</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2A2D</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2A34</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="46.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2A3C</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2A64</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2A79</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2A7D</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2A7F</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2A81</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2A83</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2A8B</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2A91</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2A93</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2A95</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="48.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2A97</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2A99</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2A9B</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2AA1</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2AA6</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2AA8</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2AAA</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2AAC</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2AAF</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2AB3</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2ABB</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="49.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2ABD</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2ABF</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2AC1</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2AC3</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2AC5</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2ACD</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2ACF</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2AD1</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2AD3</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2AD5</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2AEC</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="50.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2AF7</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2AF9</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2E02</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2E04</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2E09</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2E0C</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2E1C</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2E20</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">2E28</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">3008</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">300A</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="51.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">300C</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">300E</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">3010</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">3014</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">3016</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">3018</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">301A</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">301D</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">FD3E</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">FE17</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">FE35</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="52.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">FE37</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">FE39</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">FE3B</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">FE3D</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">FE3F</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">FE41</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">FE43</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">FE47</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">FE59</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">FE5B</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">FE5D</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="54.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">FF08</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">FF1C</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">FF3B</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">FF5B</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">FF5F</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\x</tspan><tspan fill="#d19a66">FF62</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="55.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="56.400000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="57.600000em" xml:space="preserve"> | |
</text><text x="0" y="58.800000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">balanced</tspan>(<tspan fill="#dcaeea">$start</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$stop</tspan>) { | |
</text><text x="0" y="60.000000em" xml:space="preserve">        <tspan fill="#c678dd">if</tspan> <tspan fill="#00b1f7">nqp::istype</tspan>(<tspan fill="#dcaeea">$stop</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c1abea">VMArray</tspan>) { | |
</text><text x="0" y="61.200000em" xml:space="preserve">            <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">HOW</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">mixin</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c1abea">startstops</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">HOW</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">curry</tspan>(<tspan fill="#c1abea">startstops</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$start</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$stop</tspan><tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">],</tspan> <tspan fill="#dcaeea">$stop</tspan><tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">1</tspan><tspan fill="#c7bf54">]</tspan>)); | |
</text><text x="0" y="62.400000em" xml:space="preserve">        } | |
</text><text x="0" y="63.600000em" xml:space="preserve">        <tspan fill="#c678dd">else</tspan> { | |
</text><text x="0" y="64.800000em" xml:space="preserve">            <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">HOW</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">mixin</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c1abea">startstop</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">HOW</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">curry</tspan>(<tspan fill="#c1abea">startstop</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$start</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$stop</tspan>)); | |
</text><text x="0" y="66.000000em" xml:space="preserve">        } | |
</text><text x="0" y="67.200000em" xml:space="preserve">    } | |
</text><text x="0" y="68.400000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">unbalanced</tspan>(<tspan fill="#dcaeea">$stop</tspan>) { | |
</text><text x="0" y="69.600000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">HOW</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">mixin</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c1abea">stop</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">HOW</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">curry</tspan>(<tspan fill="#c1abea">stop</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$stop</tspan>)); | |
</text><text x="0" y="70.800000em" xml:space="preserve">    } | |
</text><text x="0" y="72.000000em" xml:space="preserve"> | |
</text><text x="0" y="73.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">starter</tspan> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">!</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="74.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">stopper</tspan> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">!</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="75.600000em" xml:space="preserve"> | |
</text><text x="0" y="76.800000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">quote_lang</tspan>(<tspan fill="#dcaeea">$l</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$start</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$stop</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">@base_tweaks</tspan><tspan fill="#c7bf54">?,</tspan> <tspan fill="#dcaeea">@extra_tweaks</tspan><tspan fill="#c7bf54">?</tspan>) { | |
</text><text x="0" y="78.000000em" xml:space="preserve">        <tspan fill="#c678dd">sub</tspan> <tspan fill="#00b1f7">lang_key</tspan>() { | |
</text><text x="0" y="79.200000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$stopstr</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::istype</tspan>(<tspan fill="#dcaeea">$stop</tspan><tspan fill="#c7bf54">,</tspan><tspan fill="#c1abea">VMArray</tspan>) <tspan fill="#c7bf54">??</tspan> <tspan fill="#00b1f7">nqp::join</tspan>('<tspan fill="#98c379"> </tspan>'<tspan fill="#c7bf54">,</tspan><tspan fill="#dcaeea">$stop</tspan>) <tspan fill="#c7bf54">!!</tspan> <tspan fill="#dcaeea">$stop</tspan>; | |
</text><text x="0" y="80.400000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">@keybits</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c7bf54">[</tspan> | |
</text><text x="0" y="81.600000em" xml:space="preserve">                <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">HOW</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">name</tspan>(<tspan fill="#ef8383">self</tspan>)<tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$l</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">HOW</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">name</tspan>(<tspan fill="#dcaeea">$l</tspan>)<tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$start</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$stopstr</tspan> | |
</text><text x="0" y="82.800000em" xml:space="preserve">            <tspan fill="#c7bf54">]</tspan>; | |
</text><text x="0" y="84.000000em" xml:space="preserve">            <tspan fill="#c678dd">for</tspan> <tspan fill="#dcaeea">@base_tweaks</tspan> { | |
</text><text x="0" y="85.200000em" xml:space="preserve">                <tspan fill="#dcaeea">@keybits</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">push</tspan>(<tspan fill="#dcaeea">$_</tspan>); | |
</text><text x="0" y="86.400000em" xml:space="preserve">            } | |
</text><text x="0" y="87.600000em" xml:space="preserve">            <tspan fill="#c678dd">for</tspan> <tspan fill="#dcaeea">@extra_tweaks</tspan> { | |
</text><text x="0" y="88.800000em" xml:space="preserve">                <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">$_</tspan><tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">]</tspan> <tspan fill="#b756ff" font-weight="bold">eq</tspan> '<tspan fill="#98c379">to</tspan>' { | |
</text><text x="0" y="90.000000em" xml:space="preserve">                    <tspan fill="#c678dd">return</tspan> '<tspan fill="#98c379">NOCACHE</tspan>'; | |
</text><text x="0" y="91.200000em" xml:space="preserve">                } | |
</text><text x="0" y="92.400000em" xml:space="preserve">                <tspan fill="#dcaeea">@keybits</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">push</tspan>(<tspan fill="#dcaeea">$_</tspan><tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">]</tspan> <tspan fill="#c7bf54">~</tspan> '<tspan fill="#98c379">=</tspan>' <tspan fill="#c7bf54">~</tspan> <tspan fill="#dcaeea">$_</tspan><tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">1</tspan><tspan fill="#c7bf54">]</tspan>); | |
</text><text x="0" y="93.600000em" xml:space="preserve">            } | |
</text><text x="0" y="94.800000em" xml:space="preserve">            <tspan fill="#00b1f7">nqp::join</tspan>("<tspan fill="#63c381">\0</tspan>"<tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">@keybits</tspan>) | |
</text><text x="0" y="96.000000em" xml:space="preserve">        } | |
</text><text x="0" y="97.200000em" xml:space="preserve">        <tspan fill="#c678dd">sub</tspan> <tspan fill="#00b1f7">con_lang</tspan>() { | |
</text><text x="0" y="98.400000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$lang</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$l</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!cursor_init</tspan>'(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">orig</tspan>()<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">p</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">pos</tspan>())<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">shared</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!shared</tspan>'())); | |
</text><text x="0" y="99.600000em" xml:space="preserve">            <tspan fill="#dcaeea">$lang</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">clone_braid_from</tspan>(<tspan fill="#ef8383">self</tspan>); | |
</text><text x="0" y="100.800000em" xml:space="preserve">            <tspan fill="#c678dd">for</tspan> <tspan fill="#dcaeea">@base_tweaks</tspan> { | |
</text><text x="0" y="102.000000em" xml:space="preserve">                <tspan fill="#dcaeea">$lang</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$lang</tspan><tspan fill="#c7bf54">.</tspan>"<tspan fill="#63c381">tweak_</tspan><tspan fill="#dcaeea">$_</tspan>"(<tspan fill="#d19a66">1</tspan>); | |
</text><text x="0" y="103.200000em" xml:space="preserve">            } | |
</text><text x="0" y="104.400000em" xml:space="preserve"> | |
</text><text x="0" y="105.600000em" xml:space="preserve">            <tspan fill="#c678dd">for</tspan> <tspan fill="#dcaeea">@extra_tweaks</tspan> { | |
</text><text x="0" y="106.800000em" xml:space="preserve">                <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$t</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$_</tspan><tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">]</tspan>; | |
</text><text x="0" y="108.000000em" xml:space="preserve">                <tspan fill="#c678dd">if</tspan> <tspan fill="#00b1f7">nqp::can</tspan>(<tspan fill="#dcaeea">$lang</tspan><tspan fill="#c7bf54">,</tspan> "<tspan fill="#63c381">tweak_</tspan><tspan fill="#dcaeea">$t</tspan>") { | |
</text><text x="0" y="109.200000em" xml:space="preserve">                    <tspan fill="#dcaeea">$lang</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$lang</tspan><tspan fill="#c7bf54">.</tspan>"<tspan fill="#63c381">tweak_</tspan><tspan fill="#dcaeea">$t</tspan>"(<tspan fill="#dcaeea">$_</tspan><tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">1</tspan><tspan fill="#c7bf54">]</tspan>); | |
</text><text x="0" y="110.400000em" xml:space="preserve">                } | |
</text><text x="0" y="111.600000em" xml:space="preserve">                <tspan fill="#c678dd">else</tspan> { | |
</text><text x="0" y="112.800000em" xml:space="preserve">                    <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">sorry</tspan>("<tspan fill="#63c381">Unrecognized adverb: :</tspan><tspan fill="#dcaeea">$t</tspan>"); | |
</text><text x="0" y="114.000000em" xml:space="preserve">                } | |
</text><text x="0" y="115.200000em" xml:space="preserve">            } | |
</text><text x="0" y="116.400000em" xml:space="preserve">            <tspan fill="#c678dd">for</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">slangs</tspan> { | |
</text><text x="0" y="117.600000em" xml:space="preserve">                <tspan fill="#c678dd">if</tspan> <tspan fill="#00b1f7">nqp::istype</tspan>(<tspan fill="#dcaeea">$lang</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$_</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">value</tspan>) { | |
</text><text x="0" y="118.800000em" xml:space="preserve">                    <tspan fill="#dcaeea">$lang</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">set_actions</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">slang_actions</tspan>(<tspan fill="#dcaeea">$_</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">key</tspan>)); | |
</text><text x="0" y="120.000000em" xml:space="preserve">                    <tspan fill="#ef8383">last</tspan>; | |
</text><text x="0" y="121.200000em" xml:space="preserve">                } | |
</text><text x="0" y="122.400000em" xml:space="preserve">            } | |
</text><text x="0" y="123.600000em" xml:space="preserve">            <tspan fill="#dcaeea">$lang</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">set_pragma</tspan>("<tspan fill="#63c381">STOPPER</tspan>"<tspan fill="#c7bf54">,</tspan><tspan fill="#dcaeea">$stop</tspan>); | |
</text><text x="0" y="124.800000em" xml:space="preserve">            <tspan fill="#00b1f7">nqp::istype</tspan>(<tspan fill="#dcaeea">$stop</tspan><tspan fill="#c7bf54">,</tspan><tspan fill="#c1abea">VMArray</tspan>) <tspan fill="#c7bf54">||</tspan> | |
</text><text x="0" y="126.000000em" xml:space="preserve">            <tspan fill="#dcaeea">$start</tspan> <tspan fill="#b756ff" font-weight="bold">ne</tspan> <tspan fill="#dcaeea">$stop</tspan> <tspan fill="#c7bf54">??</tspan> <tspan fill="#dcaeea">$lang</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">balanced</tspan>(<tspan fill="#dcaeea">$start</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$stop</tspan>) | |
</text><text x="0" y="127.200000em" xml:space="preserve">                            <tspan fill="#c7bf54">!!</tspan> <tspan fill="#dcaeea">$lang</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">unbalanced</tspan>(<tspan fill="#dcaeea">$stop</tspan>); | |
</text><text x="0" y="128.400000em" xml:space="preserve">        } | |
</text><text x="0" y="129.600000em" xml:space="preserve"> | |
</text><text x="0" y="130.800000em" xml:space="preserve">        <tspan fill="#8a93a5" font-style="italic"># Get language from cache or derive it.</tspan> | |
</text><text x="0" y="132.000000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$key</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">lang_key</tspan>(); | |
</text><text x="0" y="133.200000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">%quote_lang_cache</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">quote_lang_cache</tspan>; | |
</text><text x="0" y="134.400000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$quote_lang</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::existskey</tspan>(<tspan fill="#dcaeea">%quote_lang_cache</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$key</tspan>) <tspan fill="#c7bf54">&&</tspan> <tspan fill="#dcaeea">$key</tspan> <tspan fill="#b756ff" font-weight="bold">ne</tspan> '<tspan fill="#98c379">NOCACHE</tspan>' | |
</text><text x="0" y="135.600000em" xml:space="preserve">            <tspan fill="#c7bf54">??</tspan> <tspan fill="#dcaeea">%quote_lang_cache</tspan>{<tspan fill="#dcaeea">$key</tspan>} | |
</text><text x="0" y="136.800000em" xml:space="preserve">            <tspan fill="#c7bf54">!!</tspan> (<tspan fill="#dcaeea">%quote_lang_cache</tspan>{<tspan fill="#dcaeea">$key</tspan>} <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">con_lang</tspan>()); | |
</text><text x="0" y="138.000000em" xml:space="preserve">        <tspan fill="#dcaeea">$quote_lang</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">set_package</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">package</tspan>); | |
</text><text x="0" y="139.200000em" xml:space="preserve">        <tspan fill="#dcaeea">$quote_lang</tspan>; | |
</text><text x="0" y="140.400000em" xml:space="preserve">    } | |
</text><text x="0" y="141.600000em" xml:space="preserve"> | |
</text><text x="0" y="142.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">babble</tspan>(<tspan fill="#dcaeea">$l</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">@base_tweaks</tspan><tspan fill="#c7bf54">?</tspan>) {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="144.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">@extra_tweaks</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="145.200000em" xml:space="preserve"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="146.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">quotepair</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#b756ff" font-weight="bold">ws</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="147.600000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>{ | |
</text><text x="0" y="148.800000em" xml:space="preserve">                <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$kv</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$<quotepair></tspan><tspan fill="#c7bf54">[-</tspan><tspan fill="#d19a66">1</tspan><tspan fill="#c7bf54">].</tspan><tspan fill="#ef8383">ast</tspan>; | |
</text><text x="0" y="150.000000em" xml:space="preserve">                <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$k</tspan>  <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$kv</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">named</tspan>; | |
</text><text x="0" y="151.200000em" xml:space="preserve">                <tspan fill="#c678dd">if</tspan> <tspan fill="#00b1f7">nqp::istype</tspan>(<tspan fill="#dcaeea">$kv</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c1abea">QAST::Stmts</tspan>) <tspan fill="#c7bf54">||</tspan> <tspan fill="#00b1f7">nqp::istype</tspan>(<tspan fill="#dcaeea">$kv</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c1abea">QAST::Stmt</tspan>) <tspan fill="#c7bf54">&&</tspan> <tspan fill="#c7bf54">+</tspan><tspan fill="#dcaeea">@</tspan>(<tspan fill="#dcaeea">$kv</tspan>) <tspan fill="#c7bf54">==</tspan> <tspan fill="#d19a66">1</tspan> { | |
</text><text x="0" y="152.400000em" xml:space="preserve">                    <tspan fill="#dcaeea">$kv</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$kv</tspan><tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">]</tspan>; | |
</text><text x="0" y="153.600000em" xml:space="preserve">                } | |
</text><text x="0" y="154.800000em" xml:space="preserve">                <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$v</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::istype</tspan>(<tspan fill="#dcaeea">$kv</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c1abea">QAST::IVal</tspan>) | |
</text><text x="0" y="156.000000em" xml:space="preserve">                    <tspan fill="#c7bf54">??</tspan> <tspan fill="#dcaeea">$kv</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">value</tspan> | |
</text><text x="0" y="157.200000em" xml:space="preserve">                    <tspan fill="#c7bf54">!!</tspan> <tspan fill="#dcaeea">$kv</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">has_compile_time_value</tspan> | |
</text><text x="0" y="158.400000em" xml:space="preserve">                        <tspan fill="#c7bf54">??</tspan> <tspan fill="#dcaeea">$kv</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">compile_time_value</tspan> | |
</text><text x="0" y="159.600000em" xml:space="preserve">                        <tspan fill="#c7bf54">!!</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">panic</tspan>("<tspan fill="#63c381">Invalid adverb value for </tspan>" <tspan fill="#c7bf54">~</tspan> <tspan fill="#dcaeea">$<quotepair></tspan><tspan fill="#c7bf54">[-</tspan><tspan fill="#d19a66">1</tspan><tspan fill="#c7bf54">].</tspan><tspan fill="#ef8383">Str</tspan>); | |
</text><text x="0" y="160.800000em" xml:space="preserve">                <tspan fill="#00b1f7">nqp::push</tspan>(<tspan fill="#dcaeea">@extra_tweaks</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">[</tspan><tspan fill="#dcaeea">$k</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$v</tspan><tspan fill="#c7bf54">]</tspan>); | |
</text><text x="0" y="162.000000em" xml:space="preserve">            }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="163.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="164.400000em" xml:space="preserve"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="165.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#dcaeea">$<B></tspan><tspan fill="#c7bf54">=</tspan>[<<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#bda26f">.</tspan>>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="166.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>{ | |
</text><text x="0" y="168.000000em" xml:space="preserve">            <tspan fill="#8a93a5" font-style="italic"># Work out the delimiters.</tspan> | |
</text><text x="0" y="169.200000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$c</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$/</tspan>; | |
</text><text x="0" y="170.400000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">@delims</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$c</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">peek_delimiters</tspan>(<tspan fill="#dcaeea">$c</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">target</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$c</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">pos</tspan>); | |
</text><text x="0" y="171.600000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$start</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">@delims</tspan><tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">]</tspan>; | |
</text><text x="0" y="172.800000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$stop</tspan>  <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">@delims</tspan><tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">1</tspan><tspan fill="#c7bf54">]</tspan>; | |
</text><text x="0" y="174.000000em" xml:space="preserve"> | |
</text><text x="0" y="175.200000em" xml:space="preserve">            <tspan fill="#8a93a5" font-style="italic"># Get the language.</tspan> | |
</text><text x="0" y="176.400000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$lang</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">quote_lang</tspan>(<tspan fill="#dcaeea">$l</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$start</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$stop</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">@base_tweaks</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">@extra_tweaks</tspan>); | |
</text><text x="0" y="177.600000em" xml:space="preserve">            <tspan fill="#dcaeea">$<B></tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#c678dd">make</tspan>(<tspan fill="#c7bf54">[</tspan><tspan fill="#dcaeea">$lang</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$start</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$stop</tspan><tspan fill="#c7bf54">]</tspan>); | |
</text><text x="0" y="178.800000em" xml:space="preserve">        }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="180.000000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="181.200000em" xml:space="preserve"> | |
</text><text x="0" y="182.400000em" xml:space="preserve">    <tspan fill="#c678dd">my</tspan> <tspan fill="#c678dd">class</tspan> <tspan fill="#76a9f9">Herestub</tspan> { | |
</text><text x="0" y="183.600000em" xml:space="preserve">        <tspan fill="#c678dd">has</tspan> <tspan fill="#dcaeea">$!delim</tspan>; | |
</text><text x="0" y="184.800000em" xml:space="preserve">        <tspan fill="#c678dd">has</tspan> <tspan fill="#dcaeea">$!orignode</tspan>; | |
</text><text x="0" y="186.000000em" xml:space="preserve">        <tspan fill="#c678dd">has</tspan> <tspan fill="#dcaeea">$!grammar</tspan>; | |
</text><text x="0" y="187.200000em" xml:space="preserve">        <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">delim</tspan>() { <tspan fill="#dcaeea">$!delim</tspan> } | |
</text><text x="0" y="188.400000em" xml:space="preserve">        <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">orignode</tspan>() { <tspan fill="#dcaeea">$!orignode</tspan> } | |
</text><text x="0" y="189.600000em" xml:space="preserve">        <tspan fill="#c678dd">method</tspan> <tspan fill="#c678dd">grammar</tspan>() { <tspan fill="#dcaeea">$!grammar</tspan> } | |
</text><text x="0" y="190.800000em" xml:space="preserve">    } | |
</text><text x="0" y="192.000000em" xml:space="preserve"> | |
</text><text x="0" y="193.200000em" xml:space="preserve">    <tspan fill="#c678dd">role</tspan> <tspan fill="#76a9f9">herestop</tspan> { | |
</text><text x="0" y="194.400000em" xml:space="preserve">        <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">starter</tspan> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">!</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="195.600000em" xml:space="preserve">        <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">stopper</tspan> {<tspan fill="#56b6c2"> </tspan><tspan fill="#bda26f">^^</tspan><tspan fill="#56b6c2"> </tspan>{}<tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea">$<ws></tspan><tspan fill="#c7bf54">=</tspan>(<tspan fill="#d26464" font-weight="bold">\h</tspan><tspan fill="#c7bf54">*</tspan>)<tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea" font-weight="bold">$*DELIM</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\h</tspan><tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#bda26f">$$</tspan><tspan fill="#56b6c2"> </tspan>[<tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">r</tspan><tspan fill="#d26464" font-weight="bold">\n</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\v</tspan>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="196.800000em" xml:space="preserve">        <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">parsing_heredoc</tspan>() { <tspan fill="#d19a66">1</tspan> } | |
</text><text x="0" y="198.000000em" xml:space="preserve">    } | |
</text><text x="0" y="199.200000em" xml:space="preserve"> | |
</text><text x="0" y="200.400000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">heredoc</tspan> () { | |
</text><text x="0" y="201.600000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$actions</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">actions</tspan>; | |
</text><text x="0" y="202.800000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">@herestub_queue</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">herestub_queue</tspan>; | |
</text><text x="0" y="204.000000em" xml:space="preserve">        <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">@herestub_queue</tspan> { | |
</text><text x="0" y="205.200000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$here</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!cursor_start_cur</tspan>'(); | |
</text><text x="0" y="206.400000em" xml:space="preserve">            <tspan fill="#dcaeea">$here</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!cursor_pos</tspan>'(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">pos</tspan>); | |
</text><text x="0" y="207.600000em" xml:space="preserve">            <tspan fill="#c678dd">while</tspan> <tspan fill="#dcaeea">@herestub_queue</tspan> { | |
</text><text x="0" y="208.800000em" xml:space="preserve">                <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$herestub</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::shift</tspan>(<tspan fill="#dcaeea">@herestub_queue</tspan>); | |
</text><text x="0" y="210.000000em" xml:space="preserve">                <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*DELIM</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$herestub</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">delim</tspan>; | |
</text><text x="0" y="211.200000em" xml:space="preserve">                <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$lang</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$herestub</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#c678dd">grammar</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">HOW</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">mixin</tspan>(<tspan fill="#dcaeea">$herestub</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#c678dd">grammar</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c1abea">herestop</tspan>); | |
</text><text x="0" y="212.400000em" xml:space="preserve">                <tspan fill="#c678dd">for</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">slangs</tspan> { | |
</text><text x="0" y="213.600000em" xml:space="preserve">                    <tspan fill="#c678dd">if</tspan> <tspan fill="#00b1f7">nqp::istype</tspan>(<tspan fill="#dcaeea">$lang</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$_</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">value</tspan>) { | |
</text><text x="0" y="214.800000em" xml:space="preserve">                        <tspan fill="#dcaeea">$lang</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">set_actions</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">slang_actions</tspan>(<tspan fill="#dcaeea">$_</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">key</tspan>)); | |
</text><text x="0" y="216.000000em" xml:space="preserve">                        <tspan fill="#ef8383">last</tspan>; | |
</text><text x="0" y="217.200000em" xml:space="preserve">                    } | |
</text><text x="0" y="218.400000em" xml:space="preserve">                } | |
</text><text x="0" y="219.600000em" xml:space="preserve">                <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$doc</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$here</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">nibble</tspan>(<tspan fill="#dcaeea">$lang</tspan>); | |
</text><text x="0" y="220.800000em" xml:space="preserve">                <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">$doc</tspan> { | |
</text><text x="0" y="222.000000em" xml:space="preserve">                    <tspan fill="#8a93a5" font-style="italic"># Match stopper.</tspan> | |
</text><text x="0" y="223.200000em" xml:space="preserve">                    <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$stop</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$lang</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!cursor_init</tspan>'(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">orig</tspan>()<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">p</tspan>(<tspan fill="#dcaeea">$doc</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">pos</tspan>)<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">shared</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!shared</tspan>'()))<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">stopper</tspan>(); | |
</text><text x="0" y="224.400000em" xml:space="preserve">                    <tspan fill="#dcaeea">$stop</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">clone_braid_from</tspan>(<tspan fill="#ef8383">self</tspan>); | |
</text><text x="0" y="225.600000em" xml:space="preserve">                    <tspan fill="#c678dd">unless</tspan> <tspan fill="#dcaeea">$stop</tspan> { | |
</text><text x="0" y="226.800000em" xml:space="preserve">                        <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">panic</tspan>("<tspan fill="#63c381">Ending delimiter </tspan><tspan fill="#dcaeea">$*DELIM</tspan><tspan fill="#63c381"> not found</tspan>"); | |
</text><text x="0" y="228.000000em" xml:space="preserve">                    } | |
</text><text x="0" y="229.200000em" xml:space="preserve">                    <tspan fill="#dcaeea">$here</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!cursor_pos</tspan>'(<tspan fill="#dcaeea">$stop</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">pos</tspan>); | |
</text><text x="0" y="230.400000em" xml:space="preserve"> | |
</text><text x="0" y="231.600000em" xml:space="preserve">                    <tspan fill="#8a93a5" font-style="italic"># Get it trimmed and AST updated.</tspan> | |
</text><text x="0" y="232.800000em" xml:space="preserve">                    <tspan fill="#dcaeea">$actions</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">trim_heredoc</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$doc</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$stop</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$herestub</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">orignode</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">MATCH</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">ast</tspan>); | |
</text><text x="0" y="234.000000em" xml:space="preserve">                } | |
</text><text x="0" y="235.200000em" xml:space="preserve">                <tspan fill="#c678dd">else</tspan> { | |
</text><text x="0" y="236.400000em" xml:space="preserve">                    <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">panic</tspan>("<tspan fill="#63c381">Ending delimiter </tspan><tspan fill="#dcaeea">$*DELIM</tspan><tspan fill="#63c381"> not found</tspan>"); | |
</text><text x="0" y="237.600000em" xml:space="preserve">                } | |
</text><text x="0" y="238.800000em" xml:space="preserve">            } | |
</text><text x="0" y="240.000000em" xml:space="preserve">            <tspan fill="#dcaeea">$here</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!cursor_pass</tspan>'(<tspan fill="#dcaeea">$here</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">pos</tspan>); | |
</text><text x="0" y="241.200000em" xml:space="preserve">            <tspan fill="#dcaeea">$here</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">set_actions</tspan>(<tspan fill="#dcaeea">$actions</tspan>); | |
</text><text x="0" y="242.400000em" xml:space="preserve">            <tspan fill="#dcaeea">$here</tspan> | |
</text><text x="0" y="243.600000em" xml:space="preserve">        } | |
</text><text x="0" y="244.800000em" xml:space="preserve">        <tspan fill="#c678dd">else</tspan> { | |
</text><text x="0" y="246.000000em" xml:space="preserve">            <tspan fill="#ef8383">self</tspan> | |
</text><text x="0" y="247.200000em" xml:space="preserve">        } | |
</text><text x="0" y="248.400000em" xml:space="preserve">    } | |
</text><text x="0" y="249.600000em" xml:space="preserve"> | |
</text><text x="0" y="250.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">cheat_heredoc</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="252.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">?</tspan>{ <tspan fill="#00b1f7">nqp::elems</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">herestub_queue</tspan>) }><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\h</tspan><tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> </tspan><[<tspan fill="#56b6c2"> ; } </tspan>]><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\h</tspan><tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\n</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">#</tspan>'><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#b756ff" font-weight="bold">ws</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#00b1f7">MARKER</tspan>('<tspan fill="#98c379">endstmt</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="253.200000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="254.400000em" xml:space="preserve"> | |
</text><text x="0" y="255.600000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">queue_heredoc</tspan>(<tspan fill="#dcaeea">$delim</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$grammar</tspan>) { | |
</text><text x="0" y="256.800000em" xml:space="preserve">        <tspan fill="#00b1f7">nqp::push</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">herestub_queue</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c1abea">Herestub</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">new</tspan>(<tspan fill="#c7bf54">:</tspan><tspan fill="#dcaeea">$delim</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">:</tspan><tspan fill="#dcaeea">$grammar</tspan><tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">orignode</tspan>(<tspan fill="#ef8383">self</tspan>))); | |
</text><text x="0" y="258.000000em" xml:space="preserve">        <tspan fill="#c678dd">return</tspan> <tspan fill="#ef8383">self</tspan>; | |
</text><text x="0" y="259.200000em" xml:space="preserve">    } | |
</text><text x="0" y="260.400000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">fail-terminator</tspan> (<tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$start</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$stop</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$line</tspan><tspan fill="#c7bf54">?</tspan>) { | |
</text><text x="0" y="261.600000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$message</tspan>; | |
</text><text x="0" y="262.800000em" xml:space="preserve">        <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">$start</tspan> <tspan fill="#b756ff" font-weight="bold">ne</tspan> <tspan fill="#00b1f7">nqp::chr</tspan>(<tspan fill="#00b1f7">nqp::ord</tspan>(<tspan fill="#dcaeea">$start</tspan>)) { | |
</text><text x="0" y="264.000000em" xml:space="preserve">            <tspan fill="#dcaeea">$message</tspan> <tspan fill="#c7bf54">:=</tspan> "<tspan fill="#63c381">Starter </tspan><tspan fill="#dcaeea">$start</tspan><tspan fill="#63c381"> is immediately followed by a combining codepoint. Please use </tspan>{<tspan fill="#00b1f7">nqp::chr</tspan>(<tspan fill="#00b1f7">nqp::ord</tspan>(<tspan fill="#dcaeea">$start</tspan>))}<tspan fill="#63c381"> without a combining glyph</tspan>"; | |
</text><text x="0" y="265.200000em" xml:space="preserve">            <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">$line</tspan> { | |
</text><text x="0" y="266.400000em" xml:space="preserve">                <tspan fill="#dcaeea">$message</tspan> <tspan fill="#c7bf54">:=</tspan> "<tspan fill="#dcaeea">$message</tspan><tspan fill="#63c381"> (</tspan><tspan fill="#dcaeea">$start</tspan><tspan fill="#63c381"> was at line </tspan><tspan fill="#dcaeea">$line</tspan><tspan fill="#63c381">)</tspan>"; | |
</text><text x="0" y="267.600000em" xml:space="preserve">            } | |
</text><text x="0" y="268.800000em" xml:space="preserve">        } | |
</text><text x="0" y="270.000000em" xml:space="preserve">        <tspan fill="#c678dd">else</tspan> { | |
</text><text x="0" y="271.200000em" xml:space="preserve">            <tspan fill="#dcaeea">$message</tspan> <tspan fill="#c7bf54">:=</tspan> "<tspan fill="#63c381">Couldn't find terminator </tspan><tspan fill="#dcaeea">$stop</tspan>"; | |
</text><text x="0" y="272.400000em" xml:space="preserve">            <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">$line</tspan> { | |
</text><text x="0" y="273.600000em" xml:space="preserve">                <tspan fill="#dcaeea">$message</tspan> <tspan fill="#c7bf54">:=</tspan> "<tspan fill="#dcaeea">$message</tspan><tspan fill="#63c381"> (corresponding </tspan><tspan fill="#dcaeea">$start</tspan><tspan fill="#63c381"> was at line </tspan><tspan fill="#dcaeea">$line</tspan><tspan fill="#63c381">)</tspan>"; | |
</text><text x="0" y="274.800000em" xml:space="preserve">            } | |
</text><text x="0" y="276.000000em" xml:space="preserve">        } | |
</text><text x="0" y="277.200000em" xml:space="preserve">        <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>('<tspan fill="#98c379">X::Comp::AdHoc</tspan>'<tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="278.400000em" xml:space="preserve">            <tspan fill="#98c379">payload</tspan> <tspan fill="#c7bf54">=></tspan> <tspan fill="#dcaeea">$message</tspan><tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="279.600000em" xml:space="preserve">            <tspan fill="#98c379">expected</tspan> <tspan fill="#c7bf54">=></tspan> <tspan fill="#c7bf54">[</tspan><tspan fill="#dcaeea">$stop</tspan><tspan fill="#c7bf54">]</tspan> | |
</text><text x="0" y="280.800000em" xml:space="preserve">        ); | |
</text><text x="0" y="282.000000em" xml:space="preserve">    } | |
</text><text x="0" y="283.200000em" xml:space="preserve">    <tspan fill="#8a93a5" font-style="italic"># nibbler for q quoting</tspan> | |
</text><text x="0" y="284.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">quibble</tspan>(<tspan fill="#dcaeea">$l</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">*</tspan><tspan fill="#dcaeea">@base_tweaks</tspan>) {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="285.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$lang</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="286.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$start</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="288.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$stop</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="289.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">babble</tspan>(<tspan fill="#dcaeea">$l</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">@base_tweaks</tspan>)><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="290.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>{ <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$B</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$<babble></tspan><<tspan fill="#98c379">B</tspan>><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">ast</tspan>; <tspan fill="#dcaeea">$lang</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$B</tspan><tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">]</tspan>; <tspan fill="#dcaeea">$start</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$B</tspan><tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">1</tspan><tspan fill="#c7bf54">]</tspan>; <tspan fill="#dcaeea">$stop</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$B</tspan><tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">2</tspan><tspan fill="#c7bf54">]</tspan>; }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="291.600000em" xml:space="preserve"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="292.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#dcaeea">$start</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">nibble</tspan>(<tspan fill="#dcaeea">$lang</tspan>)><tspan fill="#56b6c2"> </tspan>[<tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea">$stop</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan>{ <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">fail-terminator</tspan>(<tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$start</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$stop</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c1abea">HLL::Compiler</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">lineof</tspan>(<tspan fill="#dcaeea">$<babble></tspan><<tspan fill="#98c379">B</tspan>><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">orig</tspan>()<tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$<babble></tspan><<tspan fill="#98c379">B</tspan>><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">from</tspan>()<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">cache</tspan>(<tspan fill="#d19a66">1</tspan>) )) }<tspan fill="#56b6c2"> </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="294.000000em" xml:space="preserve"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="295.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>{ | |
</text><text x="0" y="296.400000em" xml:space="preserve">            <tspan fill="#00b1f7">nqp::can</tspan>(<tspan fill="#dcaeea">$lang</tspan><tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">herelang</tspan>') <tspan fill="#c7bf54">&&</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">queue_heredoc</tspan>( | |
</text><text x="0" y="297.600000em" xml:space="preserve">                <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">nibble_to_str</tspan>(<tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$<nibble></tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">ast</tspan><tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">1</tspan><tspan fill="#c7bf54">],</tspan> <tspan fill="#c678dd">-></tspan> { "<tspan fill="#63c381">Stopper '</tspan>" <tspan fill="#c7bf54">~</tspan> <tspan fill="#dcaeea">$<nibble></tspan> <tspan fill="#c7bf54">~</tspan> "<tspan fill="#63c381">' too complex for heredoc</tspan>" })<tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="298.800000em" xml:space="preserve">                <tspan fill="#dcaeea">$lang</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">herelang</tspan>) | |
</text><text x="0" y="300.000000em" xml:space="preserve">        }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="301.200000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="302.400000em" xml:space="preserve"> | |
</text><text x="0" y="303.600000em" xml:space="preserve">    <tspan fill="#8a93a5" font-style="italic"># Note, $lang must carry its own actions by the time we call this.</tspan> | |
</text><text x="0" y="304.800000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">nibble</tspan>(<tspan fill="#dcaeea">$lang</tspan>) { | |
</text><text x="0" y="306.000000em" xml:space="preserve">        <tspan fill="#dcaeea">$lang</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!cursor_init</tspan>'(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">orig</tspan>()<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">p</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">pos</tspan>())<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">shared</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!shared</tspan>'()))<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">nibbler</tspan>()<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">set_braid_from</tspan>(<tspan fill="#ef8383">self</tspan>) | |
</text><text x="0" y="307.200000em" xml:space="preserve">    } | |
</text><text x="0" y="308.400000em" xml:space="preserve"> | |
</text><text x="0" y="309.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">obsbrace</tspan> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obs</tspan>('<tspan fill="#98c379">curlies around escape argument</tspan>'<tspan fill="#c7bf54">,</tspan>'<tspan fill="#98c379">square brackets</tspan>')><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="310.800000em" xml:space="preserve"> | |
</text><text x="0" y="312.000000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">FAILGOAL</tspan>(<tspan fill="#dcaeea">$goal</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$dba</tspan><tspan fill="#c7bf54">?</tspan>) { | |
</text><text x="0" y="313.200000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$stopper</tspan>; | |
</text><text x="0" y="314.400000em" xml:space="preserve">        <tspan fill="#c678dd">unless</tspan> <tspan fill="#dcaeea">$dba</tspan> { | |
</text><text x="0" y="315.600000em" xml:space="preserve">            <tspan fill="#dcaeea">$dba</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::getcodename</tspan>(<tspan fill="#00b1f7">nqp::callercode</tspan>()); | |
</text><text x="0" y="316.800000em" xml:space="preserve">            <tspan fill="#8a93a5" font-style="italic"># Handle special case to conceal variable name leaked by core grammar</tspan> | |
</text><text x="0" y="318.000000em" xml:space="preserve">            <tspan fill="#c678dd">if</tspan> <tspan fill="#c7bf54">~</tspan><tspan fill="#dcaeea">$goal</tspan> <tspan fill="#b756ff" font-weight="bold">eq</tspan> '<tspan fill="#98c379">$stopper </tspan>' { | |
</text><text x="0" y="319.200000em" xml:space="preserve">                <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$ch</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$dba</tspan> <tspan fill="#c7bf54">~~</tspan> /[<tspan fill="#56b6c2">post</tspan>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2">circumfix</tspan><tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">:sym</tspan>[<tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2"><</tspan><tspan fill="#c7bf54">|\</tspan><tspan fill="#56b6c2">«</tspan>]<tspan fill="#d26464" font-weight="bold">\S</tspan><tspan fill="#c7bf54">+</tspan><tspan fill="#d26464" font-weight="bold">\s</tspan><tspan fill="#c7bf54">+</tspan>(<tspan fill="#d26464" font-weight="bold">\S</tspan><tspan fill="#c7bf54">+</tspan>)[<tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">></tspan><tspan fill="#c7bf54">|\</tspan><tspan fill="#56b6c2">»</tspan>]/; | |
</text><text x="0" y="320.400000em" xml:space="preserve">                <tspan fill="#dcaeea">$ch</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c7bf54">~</tspan><tspan fill="#dcaeea">$ch</tspan><tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">]</tspan>; | |
</text><text x="0" y="321.600000em" xml:space="preserve">                <tspan fill="#c678dd">if</tspan> <tspan fill="#00b1f7">nqp::chars</tspan>(<tspan fill="#dcaeea">$ch</tspan>) { | |
</text><text x="0" y="322.800000em" xml:space="preserve">                    <tspan fill="#dcaeea">$stopper</tspan> <tspan fill="#c7bf54">:=</tspan> "<tspan fill="#63c381">'</tspan>" <tspan fill="#c7bf54">~</tspan> <tspan fill="#dcaeea">$ch</tspan> <tspan fill="#c7bf54">~</tspan> "<tspan fill="#63c381">'</tspan>"; | |
</text><text x="0" y="324.000000em" xml:space="preserve">                } | |
</text><text x="0" y="325.200000em" xml:space="preserve">            } | |
</text><text x="0" y="326.400000em" xml:space="preserve">        } | |
</text><text x="0" y="327.600000em" xml:space="preserve">        <tspan fill="#8a93a5" font-style="italic"># core grammar also has a penchant for sending us trailing .ws contents</tspan> | |
</text><text x="0" y="328.800000em" xml:space="preserve">        <tspan fill="#dcaeea">$stopper</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$stopper</tspan> <tspan fill="#c7bf54">//</tspan> <tspan fill="#dcaeea">$goal</tspan>; | |
</text><text x="0" y="330.000000em" xml:space="preserve">        <tspan fill="#dcaeea">$stopper</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$stopper</tspan> <tspan fill="#c7bf54">~~</tspan> /(<tspan fill="#bda26f">.</tspan><tspan fill="#c7bf54">*</tspan><tspan fill="#d26464" font-weight="bold">\S</tspan>)<tspan fill="#d26464" font-weight="bold">\s</tspan><tspan fill="#c7bf54">*</tspan>/; | |
</text><text x="0" y="331.200000em" xml:space="preserve">        <tspan fill="#dcaeea">$stopper</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c7bf54">~</tspan><tspan fill="#dcaeea">$stopper</tspan><tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">]</tspan>; | |
</text><text x="0" y="332.400000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>('<tspan fill="#98c379">X::Comp::FailGoal</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">:</tspan><tspan fill="#dcaeea">$dba</tspan><tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">goal</tspan>(<tspan fill="#dcaeea">$stopper</tspan>)<tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="333.600000em" xml:space="preserve">                         :<tspan fill="#98c379">line-real</tspan>(<tspan fill="#c1abea">HLL::Compiler</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">lineof</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">orig</tspan>()<tspan fill="#c7bf54">,</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">from</tspan>()<tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="334.800000em" xml:space="preserve">                                                         :<tspan fill="#98c379">cache</tspan>(<tspan fill="#d19a66">1</tspan>)))); | |
</text><text x="0" y="336.000000em" xml:space="preserve">    } | |
</text><text x="0" y="337.200000em" xml:space="preserve"> | |
</text><text x="0" y="338.400000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">panic</tspan>(<tspan fill="#c7bf54">*</tspan><tspan fill="#dcaeea">@args</tspan>) { | |
</text><text x="0" y="339.600000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>('<tspan fill="#98c379">X::Comp::AdHoc</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#98c379">payload</tspan> <tspan fill="#c7bf54">=></tspan> <tspan fill="#00b1f7">nqp::join</tspan>(''<tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">@args</tspan>)) | |
</text><text x="0" y="340.800000em" xml:space="preserve">    } | |
</text><text x="0" y="342.000000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">sorry</tspan>(<tspan fill="#c7bf54">*</tspan><tspan fill="#dcaeea">@args</tspan>) { | |
</text><text x="0" y="343.200000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_sorry</tspan>('<tspan fill="#98c379">X::Comp::AdHoc</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#98c379">payload</tspan> <tspan fill="#c7bf54">=></tspan> <tspan fill="#00b1f7">nqp::join</tspan>(''<tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">@args</tspan>)) | |
</text><text x="0" y="344.400000em" xml:space="preserve">    } | |
</text><text x="0" y="345.600000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">worry</tspan>(<tspan fill="#c7bf54">*</tspan><tspan fill="#dcaeea">@args</tspan>) { | |
</text><text x="0" y="346.800000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_worry</tspan>('<tspan fill="#98c379">X::Comp::AdHoc</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#98c379">payload</tspan> <tspan fill="#c7bf54">=></tspan> <tspan fill="#00b1f7">nqp::join</tspan>(''<tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">@args</tspan>)) | |
</text><text x="0" y="348.000000em" xml:space="preserve">    } | |
</text><text x="0" y="349.200000em" xml:space="preserve"> | |
</text><text x="0" y="350.400000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">typed_panic</tspan>(<tspan fill="#dcaeea">$type_str</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">*</tspan><tspan fill="#dcaeea">%opts</tspan>) { | |
</text><text x="0" y="351.600000em" xml:space="preserve">        <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">throw</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">MATCH</tspan>()<tspan fill="#c7bf54">,</tspan> <tspan fill="#00b1f7">nqp::split</tspan>('<tspan fill="#98c379">::</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$type_str</tspan>)<tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">|</tspan><tspan fill="#dcaeea">%opts</tspan>); | |
</text><text x="0" y="352.800000em" xml:space="preserve">    } | |
</text><text x="0" y="354.000000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">typed_sorry</tspan>(<tspan fill="#dcaeea">$type_str</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">*</tspan><tspan fill="#dcaeea">%opts</tspan>) { | |
</text><text x="0" y="355.200000em" xml:space="preserve">        <tspan fill="#c678dd">if</tspan> <tspan fill="#c7bf54">+</tspan><tspan fill="#dcaeea" font-weight="bold">@*SORROWS</tspan> <tspan fill="#c7bf54">+</tspan> <tspan fill="#d19a66">1</tspan> <tspan fill="#c7bf54">==</tspan> <tspan fill="#dcaeea" font-weight="bold">$*SORRY_LIMIT</tspan> { | |
</text><text x="0" y="356.400000em" xml:space="preserve">            <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">throw</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">MATCH</tspan>()<tspan fill="#c7bf54">,</tspan> <tspan fill="#00b1f7">nqp::split</tspan>('<tspan fill="#98c379">::</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$type_str</tspan>)<tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">|</tspan><tspan fill="#dcaeea">%opts</tspan>); | |
</text><text x="0" y="357.600000em" xml:space="preserve">        } | |
</text><text x="0" y="358.800000em" xml:space="preserve">        <tspan fill="#c678dd">else</tspan> { | |
</text><text x="0" y="360.000000em" xml:space="preserve">            <tspan fill="#dcaeea" font-weight="bold">@*SORROWS</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">push</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_exception</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">MATCH</tspan>()<tspan fill="#c7bf54">,</tspan> <tspan fill="#00b1f7">nqp::split</tspan>('<tspan fill="#98c379">::</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$type_str</tspan>)<tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">|</tspan><tspan fill="#dcaeea">%opts</tspan>)); | |
</text><text x="0" y="361.200000em" xml:space="preserve">        } | |
</text><text x="0" y="362.400000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan> | |
</text><text x="0" y="363.600000em" xml:space="preserve">    } | |
</text><text x="0" y="364.800000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">typed_worry</tspan>(<tspan fill="#dcaeea">$type_str</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">*</tspan><tspan fill="#dcaeea">%opts</tspan>) { | |
</text><text x="0" y="366.000000em" xml:space="preserve">        <tspan fill="#c678dd">if</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">pragma</tspan>('<tspan fill="#98c379">worries</tspan>') { | |
</text><text x="0" y="367.200000em" xml:space="preserve">            <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">pragma</tspan>('<tspan fill="#98c379">fatal</tspan>') | |
</text><text x="0" y="368.400000em" xml:space="preserve">              <tspan fill="#c7bf54">??</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_sorry</tspan>(<tspan fill="#dcaeea">$type_str</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">|</tspan><tspan fill="#dcaeea">%opts</tspan>) | |
</text><text x="0" y="369.600000em" xml:space="preserve">              <tspan fill="#c7bf54">!!</tspan> <tspan fill="#dcaeea" font-weight="bold">@*WORRIES</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">push</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_exception</tspan>( | |
</text><text x="0" y="370.800000em" xml:space="preserve">                   <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">MATCH</tspan>()<tspan fill="#c7bf54">,</tspan> <tspan fill="#00b1f7">nqp::split</tspan>('<tspan fill="#98c379">::</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$type_str</tspan>)<tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">|</tspan><tspan fill="#dcaeea">%opts</tspan>)); | |
</text><text x="0" y="372.000000em" xml:space="preserve">        } | |
</text><text x="0" y="373.200000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan> | |
</text><text x="0" y="374.400000em" xml:space="preserve">    } | |
</text><text x="0" y="375.600000em" xml:space="preserve"> | |
</text><text x="0" y="376.800000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">security</tspan>(<tspan fill="#dcaeea">$payload</tspan>) { | |
</text><text x="0" y="378.000000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>('<tspan fill="#98c379">X::SecurityPolicy::Eval</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">:</tspan><tspan fill="#dcaeea">$payload</tspan>); | |
</text><text x="0" y="379.200000em" xml:space="preserve">    } | |
</text><text x="0" y="380.400000em" xml:space="preserve"> | |
</text><text x="0" y="381.600000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">malformed</tspan>(<tspan fill="#dcaeea">$what</tspan>) { | |
</text><text x="0" y="382.800000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>('<tspan fill="#98c379">X::Syntax::Malformed</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">:</tspan><tspan fill="#dcaeea">$what</tspan>); | |
</text><text x="0" y="384.000000em" xml:space="preserve">    } | |
</text><text x="0" y="385.200000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">missing_block</tspan>(<tspan fill="#dcaeea">$borg</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$has_mystery</tspan>) { | |
</text><text x="0" y="386.400000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$marked</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">MARKED</tspan>('<tspan fill="#98c379">ws</tspan>'); | |
</text><text x="0" y="387.600000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$pos</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$marked</tspan> <tspan fill="#c7bf54">??</tspan> <tspan fill="#dcaeea">$marked</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">from</tspan> <tspan fill="#c7bf54">!!</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">pos</tspan>; | |
</text><text x="0" y="388.800000em" xml:space="preserve"> | |
</text><text x="0" y="390.000000em" xml:space="preserve">        <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">$borg</tspan><<tspan fill="#98c379">block</tspan>> { | |
</text><text x="0" y="391.200000em" xml:space="preserve">            <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!clear_highwater</tspan>'(); | |
</text><text x="0" y="392.400000em" xml:space="preserve">            <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!cursor_pos</tspan>'(<tspan fill="#dcaeea">$borg</tspan><<tspan fill="#98c379">block</tspan>><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">pos</tspan>); | |
</text><text x="0" y="393.600000em" xml:space="preserve">            <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_sorry</tspan>('<tspan fill="#98c379">X::Syntax::BlockGobbled</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#98c379">what</tspan> <tspan fill="#c7bf54">=></tspan> (<tspan fill="#dcaeea">$borg</tspan><<tspan fill="#98c379">name</tspan>> <tspan fill="#c7bf54">//</tspan> '')); | |
</text><text x="0" y="394.800000em" xml:space="preserve">            <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!cursor_pos</tspan>'(<tspan fill="#dcaeea">$pos</tspan>); | |
</text><text x="0" y="396.000000em" xml:space="preserve">            <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">missing</tspan>("<tspan fill="#63c381">block (apparently claimed by </tspan>" <tspan fill="#c7bf54">~</tspan> (<tspan fill="#dcaeea">$borg</tspan><<tspan fill="#98c379">name</tspan>> <tspan fill="#c7bf54">??</tspan> "<tspan fill="#63c381">'</tspan>" <tspan fill="#c7bf54">~</tspan> <tspan fill="#dcaeea">$borg</tspan><<tspan fill="#98c379">name</tspan>> <tspan fill="#c7bf54">~</tspan> "<tspan fill="#63c381">'</tspan>" <tspan fill="#c7bf54">!!</tspan> "<tspan fill="#63c381">expression</tspan>") <tspan fill="#c7bf54">~</tspan> "<tspan fill="#63c381">)</tspan>"); | |
</text><text x="0" y="397.200000em" xml:space="preserve">        } <tspan fill="#c678dd">elsif</tspan> <tspan fill="#dcaeea">$pos</tspan> <tspan fill="#c7bf54">></tspan> <tspan fill="#d19a66">0</tspan> <tspan fill="#c7bf54">&&</tspan> <tspan fill="#00b1f7">nqp::eqat</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">orig</tspan>()<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">}</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$pos</tspan> <tspan fill="#c7bf54">-</tspan> <tspan fill="#d19a66">1</tspan>) { | |
</text><text x="0" y="398.400000em" xml:space="preserve">            <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">missing</tspan>("<tspan fill="#63c381">block (whitespace needed before curlies taken as a hash subscript?)</tspan>"); | |
</text><text x="0" y="399.600000em" xml:space="preserve">        } <tspan fill="#c678dd">elsif</tspan> <tspan fill="#dcaeea">$has_mystery</tspan> { | |
</text><text x="0" y="400.800000em" xml:space="preserve">            <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">missing</tspan>("<tspan fill="#63c381">block (taken by some undeclared routine?)</tspan>"); | |
</text><text x="0" y="402.000000em" xml:space="preserve">        } <tspan fill="#c678dd">else</tspan> { | |
</text><text x="0" y="403.200000em" xml:space="preserve">            <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">missing</tspan>("<tspan fill="#63c381">block</tspan>"); | |
</text><text x="0" y="404.400000em" xml:space="preserve">        } | |
</text><text x="0" y="405.600000em" xml:space="preserve">    } | |
</text><text x="0" y="406.800000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">missing</tspan>(<tspan fill="#dcaeea">$what</tspan>) { | |
</text><text x="0" y="408.000000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>('<tspan fill="#98c379">X::Syntax::Missing</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">:</tspan><tspan fill="#dcaeea">$what</tspan>); | |
</text><text x="0" y="409.200000em" xml:space="preserve">    } | |
</text><text x="0" y="410.400000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">NYI</tspan>(<tspan fill="#dcaeea">$feature</tspan>) { | |
</text><text x="0" y="411.600000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>('<tspan fill="#98c379">X::Comp::NYI</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">:</tspan><tspan fill="#dcaeea">$feature</tspan>) | |
</text><text x="0" y="412.800000em" xml:space="preserve">    } | |
</text><text x="0" y="414.000000em" xml:space="preserve"> | |
</text><text x="0" y="415.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">experimental</tspan>(<tspan fill="#dcaeea">$feature</tspan>) {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="416.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">?</tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*COMPILING_CORE_SETTING</tspan> <tspan fill="#c7bf54">||</tspan> <tspan fill="#c678dd">try</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">find_single_symbol</tspan>('<tspan fill="#98c379">EXPERIMENTAL-</tspan>' <tspan fill="#c7bf54">~</tspan> <tspan fill="#00b1f7">nqp::uc</tspan>(<tspan fill="#dcaeea">$feature</tspan>)) }><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="417.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>('<tspan fill="#98c379">X::Experimental</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">:</tspan><tspan fill="#dcaeea">$feature</tspan>)><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="418.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="420.000000em" xml:space="preserve"> | |
</text><text x="0" y="421.200000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">EXPR_nonassoc</tspan>(<tspan fill="#dcaeea">$cur</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$left</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$right</tspan>) { | |
</text><text x="0" y="422.400000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>('<tspan fill="#98c379">X::Syntax::NonAssociative</tspan>'<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">left</tspan>(<tspan fill="#c7bf54">~</tspan><tspan fill="#dcaeea">$left</tspan>)<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">right</tspan>(<tspan fill="#c7bf54">~</tspan><tspan fill="#dcaeea">$right</tspan>)); | |
</text><text x="0" y="423.600000em" xml:space="preserve">    } | |
</text><text x="0" y="424.800000em" xml:space="preserve"> | |
</text><text x="0" y="426.000000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">EXPR_nonlistassoc</tspan>(<tspan fill="#dcaeea">$cur</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$left</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$right</tspan>) { | |
</text><text x="0" y="427.200000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>('<tspan fill="#98c379">X::Syntax::NonListAssociative</tspan>'<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">left</tspan>(<tspan fill="#c7bf54">~</tspan><tspan fill="#dcaeea">$left</tspan>)<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">right</tspan>(<tspan fill="#c7bf54">~</tspan><tspan fill="#dcaeea">$right</tspan>)); | |
</text><text x="0" y="428.400000em" xml:space="preserve">    } | |
</text><text x="0" y="429.600000em" xml:space="preserve"> | |
</text><text x="0" y="430.800000em" xml:space="preserve">    <tspan fill="#8a93a5" font-style="italic"># "when" arg assumes more things will become obsolete after Raku comes out...</tspan> | |
</text><text x="0" y="432.000000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">obs</tspan>(<tspan fill="#dcaeea">$old</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$new</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$when</tspan> <tspan fill="#c7bf54">=</tspan> '<tspan fill="#98c379">in Raku</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">:</tspan><tspan fill="#dcaeea">$ism</tspan> <tspan fill="#c7bf54">=</tspan> '<tspan fill="#98c379">p5isms</tspan>') { | |
</text><text x="0" y="433.200000em" xml:space="preserve">        <tspan fill="#c678dd">unless</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LANG</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">pragma</tspan>(<tspan fill="#dcaeea">$ism</tspan>) { | |
</text><text x="0" y="434.400000em" xml:space="preserve">            <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">throw</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">MATCH</tspan>()<tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">[</tspan>'<tspan fill="#98c379">X</tspan>'<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">Obsolete</tspan>'<tspan fill="#c7bf54">],</tspan> | |
</text><text x="0" y="435.600000em" xml:space="preserve">                <tspan fill="#98c379">old</tspan>         <tspan fill="#c7bf54">=></tspan> <tspan fill="#dcaeea">$old</tspan><tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="436.800000em" xml:space="preserve">                <tspan fill="#98c379">replacement</tspan> <tspan fill="#c7bf54">=></tspan> <tspan fill="#dcaeea">$new</tspan><tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="438.000000em" xml:space="preserve">                <tspan fill="#98c379">when</tspan>        <tspan fill="#c7bf54">=></tspan> <tspan fill="#dcaeea">$when</tspan><tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="439.200000em" xml:space="preserve">            ); | |
</text><text x="0" y="440.400000em" xml:space="preserve">        } | |
</text><text x="0" y="441.600000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan>; | |
</text><text x="0" y="442.800000em" xml:space="preserve">    } | |
</text><text x="0" y="444.000000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">obsvar</tspan>(<tspan fill="#dcaeea">$name</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$identifier-name</tspan><tspan fill="#c7bf54">?</tspan>) { | |
</text><text x="0" y="445.200000em" xml:space="preserve">        <tspan fill="#c678dd">unless</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LANG</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">pragma</tspan>('<tspan fill="#98c379">p5isms</tspan>') { | |
</text><text x="0" y="446.400000em" xml:space="preserve">            <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">throw</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">MATCH</tspan>()<tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">[</tspan>'<tspan fill="#98c379">X</tspan>'<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">Syntax</tspan>'<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">Perl5Var</tspan>'<tspan fill="#c7bf54">],</tspan> | |
</text><text x="0" y="447.600000em" xml:space="preserve">              <tspan fill="#c7bf54">:</tspan><tspan fill="#dcaeea">$name</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">:</tspan><tspan fill="#dcaeea">$identifier-name</tspan>); | |
</text><text x="0" y="448.800000em" xml:space="preserve">        } | |
</text><text x="0" y="450.000000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan>; | |
</text><text x="0" y="451.200000em" xml:space="preserve">    } | |
</text><text x="0" y="452.400000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">sorryobs</tspan>(<tspan fill="#dcaeea">$old</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$new</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$when</tspan> <tspan fill="#c7bf54">=</tspan> '<tspan fill="#98c379">in Raku</tspan>') { | |
</text><text x="0" y="453.600000em" xml:space="preserve">        <tspan fill="#c678dd">unless</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LANG</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">pragma</tspan>('<tspan fill="#98c379">p5isms</tspan>') { | |
</text><text x="0" y="454.800000em" xml:space="preserve">            <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">throw</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">MATCH</tspan>()<tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">[</tspan>'<tspan fill="#98c379">X</tspan>'<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">Obsolete</tspan>'<tspan fill="#c7bf54">],</tspan> | |
</text><text x="0" y="456.000000em" xml:space="preserve">                <tspan fill="#98c379">old</tspan>         <tspan fill="#c7bf54">=></tspan> <tspan fill="#dcaeea">$old</tspan><tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="457.200000em" xml:space="preserve">                <tspan fill="#98c379">replacement</tspan> <tspan fill="#c7bf54">=></tspan> <tspan fill="#dcaeea">$new</tspan><tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="458.400000em" xml:space="preserve">                <tspan fill="#98c379">when</tspan>        <tspan fill="#c7bf54">=></tspan> <tspan fill="#dcaeea">$when</tspan><tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="459.600000em" xml:space="preserve">            ); | |
</text><text x="0" y="460.800000em" xml:space="preserve">        } | |
</text><text x="0" y="462.000000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan>; | |
</text><text x="0" y="463.200000em" xml:space="preserve">    } | |
</text><text x="0" y="464.400000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">worryobs</tspan>(<tspan fill="#dcaeea">$old</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$new</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$when</tspan> <tspan fill="#c7bf54">=</tspan> '<tspan fill="#98c379">in Raku</tspan>') { | |
</text><text x="0" y="465.600000em" xml:space="preserve">        <tspan fill="#c678dd">unless</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LANG</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">pragma</tspan>('<tspan fill="#98c379">p5isms</tspan>') { | |
</text><text x="0" y="466.800000em" xml:space="preserve">            <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_worry</tspan>('<tspan fill="#98c379">X::Obsolete</tspan>'<tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="468.000000em" xml:space="preserve">                <tspan fill="#98c379">old</tspan>         <tspan fill="#c7bf54">=></tspan> <tspan fill="#dcaeea">$old</tspan><tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="469.200000em" xml:space="preserve">                <tspan fill="#98c379">replacement</tspan> <tspan fill="#c7bf54">=></tspan> <tspan fill="#dcaeea">$new</tspan><tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="470.400000em" xml:space="preserve">                <tspan fill="#98c379">when</tspan>        <tspan fill="#c7bf54">=></tspan> <tspan fill="#dcaeea">$when</tspan><tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="471.600000em" xml:space="preserve">            ); | |
</text><text x="0" y="472.800000em" xml:space="preserve">        } | |
</text><text x="0" y="474.000000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan>; | |
</text><text x="0" y="475.200000em" xml:space="preserve">    } | |
</text><text x="0" y="476.400000em" xml:space="preserve"> | |
</text><text x="0" y="477.600000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">dupprefix</tspan>(<tspan fill="#dcaeea">$prefixes</tspan>) { | |
</text><text x="0" y="478.800000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>('<tspan fill="#98c379">X::Syntax::DuplicatedPrefix</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">:</tspan><tspan fill="#dcaeea">$prefixes</tspan>); | |
</text><text x="0" y="480.000000em" xml:space="preserve">    } | |
</text><text x="0" y="481.200000em" xml:space="preserve"> | |
</text><text x="0" y="482.400000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">mark_variable_used</tspan>(<tspan fill="#dcaeea">$name</tspan>) { | |
</text><text x="0" y="483.600000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$lex</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">cur_lexpad</tspan>(); | |
</text><text x="0" y="484.800000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">%sym</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$lex</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#c678dd">symbol</tspan>(<tspan fill="#dcaeea">$name</tspan>); | |
</text><text x="0" y="486.000000em" xml:space="preserve">        <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">%sym</tspan> { | |
</text><text x="0" y="487.200000em" xml:space="preserve">            <tspan fill="#dcaeea">%sym</tspan><<tspan fill="#98c379">used</tspan>> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">1</tspan>; | |
</text><text x="0" y="488.400000em" xml:space="preserve">        } | |
</text><text x="0" y="489.600000em" xml:space="preserve">        <tspan fill="#c678dd">else</tspan> { | |
</text><text x="0" y="490.800000em" xml:space="preserve">            <tspan fill="#8a93a5" font-style="italic"># Add mention-only record (used to poison outer</tspan> | |
</text><text x="0" y="492.000000em" xml:space="preserve">            <tspan fill="#8a93a5" font-style="italic"># usages and disambiguate hashes/blocks by use of</tspan> | |
</text><text x="0" y="493.200000em" xml:space="preserve">            <tspan fill="#8a93a5" font-style="italic"># $_ when $*IMPLICIT is in force).</tspan> | |
</text><text x="0" y="494.400000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$au</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$lex</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">ann</tspan>('<tspan fill="#98c379">also_uses</tspan>'); | |
</text><text x="0" y="495.600000em" xml:space="preserve">            <tspan fill="#dcaeea">$lex</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">annotate</tspan>('<tspan fill="#98c379">also_uses</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$au</tspan> <tspan fill="#c7bf54">:=</tspan> {}) <tspan fill="#c678dd">unless</tspan> <tspan fill="#dcaeea">$au</tspan>; | |
</text><text x="0" y="496.800000em" xml:space="preserve">            <tspan fill="#dcaeea">$au</tspan>{<tspan fill="#dcaeea">$name</tspan>} <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">1</tspan>; | |
</text><text x="0" y="498.000000em" xml:space="preserve">        } | |
</text><text x="0" y="499.200000em" xml:space="preserve">    } | |
</text><text x="0" y="500.400000em" xml:space="preserve"> | |
</text><text x="0" y="501.600000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">check_variable</tspan>(<tspan fill="#dcaeea">$var</tspan>) { | |
</text><text x="0" y="502.800000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$varast</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$var</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">ast</tspan>; | |
</text><text x="0" y="504.000000em" xml:space="preserve">        <tspan fill="#c678dd">if</tspan> <tspan fill="#00b1f7">nqp::istype</tspan>(<tspan fill="#dcaeea">$varast</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c1abea">QAST::Op</tspan>) <tspan fill="#c7bf54">&&</tspan> <tspan fill="#dcaeea">$varast</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">op</tspan> <tspan fill="#b756ff" font-weight="bold">eq</tspan> '<tspan fill="#98c379">ifnull</tspan>' { | |
</text><text x="0" y="505.200000em" xml:space="preserve">            <tspan fill="#dcaeea">$varast</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$varast</tspan><tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">]</tspan>; | |
</text><text x="0" y="506.400000em" xml:space="preserve">        } | |
</text><text x="0" y="507.600000em" xml:space="preserve">        <tspan fill="#c678dd">if</tspan> <tspan fill="#c7bf54">!</tspan><tspan fill="#dcaeea" font-weight="bold">$*IN_DECL</tspan> <tspan fill="#c7bf54">&&</tspan> <tspan fill="#00b1f7">nqp::istype</tspan>(<tspan fill="#dcaeea">$varast</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c1abea">QAST::Var</tspan>) <tspan fill="#c7bf54">&&</tspan> <tspan fill="#dcaeea">$varast</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">scope</tspan> <tspan fill="#b756ff" font-weight="bold">eq</tspan> '<tspan fill="#98c379">lexical</tspan>' { | |
</text><text x="0" y="508.800000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$name</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$varast</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">name</tspan>; | |
</text><text x="0" y="510.000000em" xml:space="preserve"> | |
</text><text x="0" y="511.200000em" xml:space="preserve">            <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">$name</tspan> <tspan fill="#b756ff" font-weight="bold">ne</tspan> '<tspan fill="#98c379">%_</tspan>' <tspan fill="#c7bf54">&&</tspan> <tspan fill="#dcaeea">$name</tspan> <tspan fill="#b756ff" font-weight="bold">ne</tspan> '<tspan fill="#98c379">@_</tspan>' <tspan fill="#c7bf54">&&</tspan> <tspan fill="#c7bf54">!</tspan><tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">is_lexical</tspan>(<tspan fill="#dcaeea">$name</tspan>) { | |
</text><text x="0" y="512.400000em" xml:space="preserve">                <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$sigil</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$var</tspan><<tspan fill="#98c379">sigil</tspan>> <tspan fill="#c7bf54">||</tspan> <tspan fill="#00b1f7">nqp::substr</tspan>(<tspan fill="#dcaeea">$name</tspan><tspan fill="#c7bf54">,</tspan><tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">,</tspan><tspan fill="#d19a66">1</tspan>); | |
</text><text x="0" y="513.600000em" xml:space="preserve">                <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">$sigil</tspan> <tspan fill="#b756ff" font-weight="bold">ne</tspan> '<tspan fill="#98c379">&</tspan>' { | |
</text><text x="0" y="514.800000em" xml:space="preserve">                    <tspan fill="#c678dd">if</tspan> <tspan fill="#c7bf54">!</tspan><tspan fill="#dcaeea" font-weight="bold">$*STRICT</tspan> { | |
</text><text x="0" y="516.000000em" xml:space="preserve">                        <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">auto_declare_var</tspan>(<tspan fill="#dcaeea">$var</tspan>); | |
</text><text x="0" y="517.200000em" xml:space="preserve">                    } | |
</text><text x="0" y="518.400000em" xml:space="preserve">                    <tspan fill="#c678dd">else</tspan> { | |
</text><text x="0" y="519.600000em" xml:space="preserve">                        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">@suggestions</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">suggest_lexicals</tspan>(<tspan fill="#dcaeea">$name</tspan>); | |
</text><text x="0" y="520.800000em" xml:space="preserve">                        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$package</tspan> <tspan fill="#76a9f9">:</tspan><tspan fill="#c7bf54">=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">package</tspan>; | |
</text><text x="0" y="522.000000em" xml:space="preserve"> | |
</text><text x="0" y="523.200000em" xml:space="preserve">                        <tspan fill="#c678dd">if</tspan> <tspan fill="#00b1f7">nqp::can</tspan>(<tspan fill="#dcaeea">$package</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">HOW</tspan><tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">get_attribute_for_usage</tspan>') { | |
</text><text x="0" y="524.400000em" xml:space="preserve">                            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$sigil</tspan>    <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::substr</tspan>(<tspan fill="#dcaeea">$name</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#d19a66">1</tspan>); | |
</text><text x="0" y="525.600000em" xml:space="preserve">                            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$twigil</tspan>   <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::concat</tspan>(<tspan fill="#dcaeea">$sigil</tspan><tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">!</tspan>'); | |
</text><text x="0" y="526.800000em" xml:space="preserve">                            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$basename</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::substr</tspan>(<tspan fill="#dcaeea">$name</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#d19a66">1</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#00b1f7">nqp::chars</tspan>(<tspan fill="#dcaeea">$name</tspan>) <tspan fill="#c7bf54">-</tspan> <tspan fill="#d19a66">1</tspan>); | |
</text><text x="0" y="528.000000em" xml:space="preserve">                            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$attrname</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::concat</tspan>(<tspan fill="#dcaeea">$twigil</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$basename</tspan>); | |
</text><text x="0" y="529.200000em" xml:space="preserve"> | |
</text><text x="0" y="530.400000em" xml:space="preserve">                            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$attribute</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$package</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">HOW</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">get_attribute_for_usage</tspan>(<tspan fill="#dcaeea">$package</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$attrname</tspan>); | |
</text><text x="0" y="531.600000em" xml:space="preserve">                            <tspan fill="#00b1f7">nqp::push</tspan>(<tspan fill="#dcaeea">@suggestions</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$attrname</tspan>); | |
</text><text x="0" y="532.800000em" xml:space="preserve"> | |
</text><text x="0" y="534.000000em" xml:space="preserve">                            <tspan fill="#c678dd">CATCH</tspan> {} | |
</text><text x="0" y="535.200000em" xml:space="preserve">                        } | |
</text><text x="0" y="536.400000em" xml:space="preserve">                        <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">throw</tspan>(<tspan fill="#dcaeea">$var</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">[</tspan>'<tspan fill="#98c379">X</tspan>'<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">Undeclared</tspan>'<tspan fill="#c7bf54">],</tspan> <tspan fill="#98c379">symbol</tspan> <tspan fill="#c7bf54">=></tspan> <tspan fill="#dcaeea">$name</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#98c379">suggestions</tspan> <tspan fill="#c7bf54">=></tspan> <tspan fill="#dcaeea">@suggestions</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#98c379">precursor</tspan> <tspan fill="#c7bf54">=></tspan> '<tspan fill="#98c379">1</tspan>'); | |
</text><text x="0" y="537.600000em" xml:space="preserve">                    } | |
</text><text x="0" y="538.800000em" xml:space="preserve">                } | |
</text><text x="0" y="540.000000em" xml:space="preserve">                <tspan fill="#c678dd">else</tspan> { | |
</text><text x="0" y="541.200000em" xml:space="preserve">                    <tspan fill="#dcaeea">$var</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">add_mystery</tspan>(<tspan fill="#dcaeea">$name</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$var</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">to</tspan><tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">var</tspan>'); | |
</text><text x="0" y="542.400000em" xml:space="preserve">                } | |
</text><text x="0" y="543.600000em" xml:space="preserve">            } | |
</text><text x="0" y="544.800000em" xml:space="preserve">            <tspan fill="#c678dd">else</tspan> { | |
</text><text x="0" y="546.000000em" xml:space="preserve">                <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">mark_variable_used</tspan>(<tspan fill="#dcaeea">$name</tspan>); | |
</text><text x="0" y="547.200000em" xml:space="preserve">            } | |
</text><text x="0" y="548.400000em" xml:space="preserve">        } | |
</text><text x="0" y="549.600000em" xml:space="preserve">        <tspan fill="#c678dd">if</tspan> <tspan fill="#c7bf54">!</tspan><tspan fill="#dcaeea" font-weight="bold">$*IN_DECL</tspan> <tspan fill="#c7bf54">&&</tspan> <tspan fill="#00b1f7">nqp::istype</tspan>(<tspan fill="#dcaeea">$varast</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c1abea">QAST::Op</tspan>) <tspan fill="#c7bf54">&&</tspan> <tspan fill="#dcaeea">$varast</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">name</tspan> <tspan fill="#b756ff" font-weight="bold">eq</tspan> '<tspan fill="#98c379">&DYNAMIC</tspan>' { | |
</text><text x="0" y="550.800000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$lex</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">cur_lexpad</tspan>(); | |
</text><text x="0" y="552.000000em" xml:space="preserve">            <tspan fill="#c678dd">if</tspan> <tspan fill="#00b1f7">nqp::istype</tspan>(<tspan fill="#dcaeea">$varast</tspan><tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">],</tspan> <tspan fill="#c1abea">QAST::Want</tspan>) <tspan fill="#c7bf54">&&</tspan> <tspan fill="#00b1f7">nqp::istype</tspan>(<tspan fill="#dcaeea">$varast</tspan><tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">][</tspan><tspan fill="#d19a66">2</tspan><tspan fill="#c7bf54">],</tspan> <tspan fill="#c1abea">QAST::SVal</tspan>) { | |
</text><text x="0" y="553.200000em" xml:space="preserve">                <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$au</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$lex</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">ann</tspan>('<tspan fill="#98c379">also_uses</tspan>'); | |
</text><text x="0" y="554.400000em" xml:space="preserve">                <tspan fill="#dcaeea">$lex</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">annotate</tspan>('<tspan fill="#98c379">also_uses</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$au</tspan> <tspan fill="#c7bf54">:=</tspan> {}) <tspan fill="#c678dd">unless</tspan> <tspan fill="#dcaeea">$au</tspan>; | |
</text><text x="0" y="555.600000em" xml:space="preserve">                <tspan fill="#dcaeea">$au</tspan>{<tspan fill="#dcaeea">$varast</tspan><tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">][</tspan><tspan fill="#d19a66">2</tspan><tspan fill="#c7bf54">].</tspan><tspan fill="#ef8383">value</tspan>} <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">1</tspan>; | |
</text><text x="0" y="556.800000em" xml:space="preserve">            } | |
</text><text x="0" y="558.000000em" xml:space="preserve">        } | |
</text><text x="0" y="559.200000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan> | |
</text><text x="0" y="560.400000em" xml:space="preserve">    } | |
</text><text x="0" y="561.600000em" xml:space="preserve"> | |
</text><text x="0" y="562.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">RESTRICTED</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="564.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$r</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*RESTRICTED</tspan> <tspan fill="#c7bf54">||</tspan> "<tspan fill="#63c381">(not)</tspan>";<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="565.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*RESTRICTED</tspan> }><tspan fill="#56b6c2"> </tspan>[<tspan fill="#56b6c2"> </tspan><tspan fill="#bda26f">$</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">security</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*RESTRICTED</tspan>)><tspan fill="#56b6c2"> </tspan>]<tspan fill="#56b6c2"> </tspan>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="566.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">!</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="567.600000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="568.800000em" xml:space="preserve">} | |
</text><text x="0" y="570.000000em" xml:space="preserve"> | |
</text><text x="0" y="571.200000em" xml:space="preserve"><tspan fill="#c678dd">grammar</tspan> <tspan fill="#76a9f9">Perl6::Grammar</tspan> <tspan fill="#c678dd">is</tspan> <tspan fill="#76a9f9">HLL::Grammar</tspan> <tspan fill="#c678dd">does</tspan> <tspan fill="#76a9f9">STD</tspan> { | |
</text><text x="0" y="572.400000em" xml:space="preserve">    <tspan fill="#8a93a5" font-style="italic">#================================================================</tspan> | |
</text><text x="0" y="573.600000em" xml:space="preserve">    <tspan fill="#8a93a5" font-style="italic"># AMBIENT AND POD-COMMON CODE HANDLERS</tspan> | |
</text><text x="0" y="574.800000em" xml:space="preserve">    <tspan fill="#8a93a5" font-style="italic">#================================================================</tspan> | |
</text><text x="0" y="576.000000em" xml:space="preserve">    <tspan fill="#c678dd">my</tspan> <tspan fill="#c678dd">class</tspan> <tspan fill="#76a9f9">SerializationContextId</tspan> { | |
</text><text x="0" y="577.200000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$count</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>; | |
</text><text x="0" y="578.400000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$lock</tspan>  <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c1abea">NQPLock</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">new</tspan>; | |
</text><text x="0" y="579.600000em" xml:space="preserve">        <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">next-id</tspan>() { | |
</text><text x="0" y="580.800000em" xml:space="preserve">            <tspan fill="#dcaeea">$lock</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">protect</tspan>({ <tspan fill="#dcaeea">$count</tspan><tspan fill="#c7bf54">++</tspan> }) | |
</text><text x="0" y="582.000000em" xml:space="preserve">        } | |
</text><text x="0" y="583.200000em" xml:space="preserve">    } | |
</text><text x="0" y="584.400000em" xml:space="preserve"> | |
</text><text x="0" y="585.600000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">TOP</tspan>() { | |
</text><text x="0" y="586.800000em" xml:space="preserve">        <tspan fill="#8a93a5" font-style="italic"># Language braid.</tspan> | |
</text><text x="0" y="588.000000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LANG</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan>; | |
</text><text x="0" y="589.200000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LEAF</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan>;  <tspan fill="#8a93a5" font-style="italic"># the leaf cursor, workaround for when we can't pass via $/ into world</tspan> | |
</text><text x="0" y="590.400000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">define_slang</tspan>('<tspan fill="#98c379">MAIN</tspan>'<tspan fill="#c7bf54">,</tspan>    <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">WHAT</tspan><tspan fill="#c7bf54">,</tspan>             <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">actions</tspan>); | |
</text><text x="0" y="591.600000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">define_slang</tspan>('<tspan fill="#98c379">Quote</tspan>'<tspan fill="#c7bf54">,</tspan>   <tspan fill="#c1abea">Perl6::QGrammar</tspan><tspan fill="#c7bf54">,</tspan>       <tspan fill="#c1abea">Perl6::QActions</tspan>); | |
</text><text x="0" y="592.800000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">define_slang</tspan>('<tspan fill="#98c379">Regex</tspan>'<tspan fill="#c7bf54">,</tspan>   <tspan fill="#c1abea">Perl6::RegexGrammar</tspan><tspan fill="#c7bf54">,</tspan>   <tspan fill="#c1abea">Perl6::RegexActions</tspan>); | |
</text><text x="0" y="594.000000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">define_slang</tspan>('<tspan fill="#98c379">P5Regex</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#c1abea">Perl6::P5RegexGrammar</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c1abea">Perl6::P5RegexActions</tspan>); | |
</text><text x="0" y="595.200000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">define_slang</tspan>('<tspan fill="#98c379">Pod</tspan>'<tspan fill="#c7bf54">,</tspan>     <tspan fill="#c1abea">Perl6::PodGrammar</tspan><tspan fill="#c7bf54">,</tspan>     <tspan fill="#c1abea">Perl6::PodActions</tspan>); | |
</text><text x="0" y="596.400000em" xml:space="preserve"> | |
</text><text x="0" y="597.600000em" xml:space="preserve">        <tspan fill="#8a93a5" font-style="italic"># Old language braid, going away eventually</tspan> | |
</text><text x="0" y="598.800000em" xml:space="preserve">        <tspan fill="#8a93a5" font-style="italic"># XXX TODO: if these are going out, be sure to make similar change</tspan> | |
</text><text x="0" y="600.000000em" xml:space="preserve">        <tspan fill="#8a93a5" font-style="italic"># to src/perl6-debug.nqp and ensure it still works.</tspan> | |
</text><text x="0" y="601.200000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">%*LANG</tspan>; | |
</text><text x="0" y="602.400000em" xml:space="preserve">        <tspan fill="#dcaeea" font-weight="bold">%*LANG</tspan><<tspan fill="#98c379">Regex</tspan>>           <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c1abea">Perl6::RegexGrammar</tspan>; | |
</text><text x="0" y="603.600000em" xml:space="preserve">        <tspan fill="#dcaeea" font-weight="bold">%*LANG</tspan><<tspan fill="#98c379">Regex-actions</tspan>>   <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c1abea">Perl6::RegexActions</tspan>; | |
</text><text x="0" y="604.800000em" xml:space="preserve">        <tspan fill="#dcaeea" font-weight="bold">%*LANG</tspan><<tspan fill="#98c379">P5Regex</tspan>>         <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c1abea">Perl6::P5RegexGrammar</tspan>; | |
</text><text x="0" y="606.000000em" xml:space="preserve">        <tspan fill="#dcaeea" font-weight="bold">%*LANG</tspan><<tspan fill="#98c379">P5Regex-actions</tspan>> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c1abea">Perl6::P5RegexActions</tspan>; | |
</text><text x="0" y="607.200000em" xml:space="preserve">        <tspan fill="#dcaeea" font-weight="bold">%*LANG</tspan><<tspan fill="#98c379">Quote</tspan>>           <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c1abea">Perl6::QGrammar</tspan>; | |
</text><text x="0" y="608.400000em" xml:space="preserve">        <tspan fill="#dcaeea" font-weight="bold">%*LANG</tspan><<tspan fill="#98c379">Quote-actions</tspan>>   <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c1abea">Perl6::QActions</tspan>; | |
</text><text x="0" y="609.600000em" xml:space="preserve">        <tspan fill="#dcaeea" font-weight="bold">%*LANG</tspan><<tspan fill="#98c379">MAIN</tspan>>            <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">WHAT</tspan>; | |
</text><text x="0" y="610.800000em" xml:space="preserve">        <tspan fill="#dcaeea" font-weight="bold">%*LANG</tspan><<tspan fill="#98c379">MAIN-actions</tspan>>    <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">actions</tspan>; | |
</text><text x="0" y="612.000000em" xml:space="preserve"> | |
</text><text x="0" y="613.200000em" xml:space="preserve">        <tspan fill="#8a93a5" font-style="italic"># We could start out TOP with a fatalizing language in self, conceivably...</tspan> | |
</text><text x="0" y="614.400000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*FATAL</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">pragma</tspan>('<tspan fill="#98c379">fatal</tspan>');  <tspan fill="#8a93a5" font-style="italic"># also set if somebody calls 'use fatal' in mainline</tspan> | |
</text><text x="0" y="615.600000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">set_pragma</tspan>('<tspan fill="#98c379">worries</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#d19a66">1</tspan>); | |
</text><text x="0" y="616.800000em" xml:space="preserve"> | |
</text><text x="0" y="618.000000em" xml:space="preserve">        <tspan fill="#8a93a5" font-style="italic"># A cacheable false dynvar value.</tspan> | |
</text><text x="0" y="619.200000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*WANTEDOUTERBLOCK</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>; | |
</text><text x="0" y="620.400000em" xml:space="preserve"> | |
</text><text x="0" y="621.600000em" xml:space="preserve">        <tspan fill="#8a93a5" font-style="italic"># Package declarator to meta-package mapping. Starts pretty much empty;</tspan> | |
</text><text x="0" y="622.800000em" xml:space="preserve">        <tspan fill="#8a93a5" font-style="italic"># we get the mappings either imported or supplied by the setting. One</tspan> | |
</text><text x="0" y="624.000000em" xml:space="preserve">        <tspan fill="#8a93a5" font-style="italic"># issue is that we may have no setting to provide them, e.g. when we</tspan> | |
</text><text x="0" y="625.200000em" xml:space="preserve">        <tspan fill="#8a93a5" font-style="italic"># compile the setting, but it still wants some kinda package. We just</tspan> | |
</text><text x="0" y="626.400000em" xml:space="preserve">        <tspan fill="#8a93a5" font-style="italic"># fudge in knowhow for that.</tspan> | |
</text><text x="0" y="627.600000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">set_how</tspan>('<tspan fill="#98c379">knowhow</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#00b1f7">nqp::knowhow</tspan>()); | |
</text><text x="0" y="628.800000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">set_how</tspan>('<tspan fill="#98c379">package</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#00b1f7">nqp::knowhow</tspan>()); | |
</text><text x="0" y="630.000000em" xml:space="preserve"> | |
</text><text x="0" y="631.200000em" xml:space="preserve">        <tspan fill="#8a93a5" font-style="italic"># Will we use the result of this? (Yes for EVAL and REPL).</tspan> | |
</text><text x="0" y="632.400000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*NEED_RESULT</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::existskey</tspan>(<tspan fill="#dcaeea" font-weight="bold">%*COMPILING</tspan><<tspan fill="#98c379">%?OPTIONS</tspan>><tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">outer_ctx</tspan>') | |
</text><text x="0" y="633.600000em" xml:space="preserve">                         <tspan fill="#c7bf54">||</tspan> <tspan fill="#00b1f7">nqp::existskey</tspan>(<tspan fill="#dcaeea" font-weight="bold">%*COMPILING</tspan><<tspan fill="#98c379">%?OPTIONS</tspan>><tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">need_result</tspan>'); | |
</text><text x="0" y="634.800000em" xml:space="preserve"> | |
</text><text x="0" y="636.000000em" xml:space="preserve">        <tspan fill="#8a93a5" font-style="italic"># Symbol table and serialization context builder - keeps track of</tspan> | |
</text><text x="0" y="637.200000em" xml:space="preserve">        <tspan fill="#8a93a5" font-style="italic"># objects that cross the compile-time/run-time boundary that are</tspan> | |
</text><text x="0" y="638.400000em" xml:space="preserve">        <tspan fill="#8a93a5" font-style="italic"># associated with this compilation unit.</tspan> | |
</text><text x="0" y="639.600000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$file</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::getlexdyn</tspan>('<tspan fill="#98c379">$?FILES</tspan>'); | |
</text><text x="0" y="640.800000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$outer_world</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::getlexdyn</tspan>('<tspan fill="#98c379">$*W</tspan>'); | |
</text><text x="0" y="642.000000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$is_nested</tspan> <tspan fill="#c7bf54">:=</tspan> ( | |
</text><text x="0" y="643.200000em" xml:space="preserve">            <tspan fill="#dcaeea">$outer_world</tspan> | |
</text><text x="0" y="644.400000em" xml:space="preserve">            <tspan fill="#c7bf54">&&</tspan> <tspan fill="#dcaeea">$outer_world</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">is_precompilation_mode</tspan>() | |
</text><text x="0" y="645.600000em" xml:space="preserve">        ); | |
</text><text x="0" y="646.800000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$source_id</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::sha1</tspan>(<tspan fill="#dcaeea">$file</tspan> <tspan fill="#c7bf54">~</tspan> ( | |
</text><text x="0" y="648.000000em" xml:space="preserve">            <tspan fill="#dcaeea">$is_nested</tspan> | |
</text><text x="0" y="649.200000em" xml:space="preserve">                <tspan fill="#c7bf54">??</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">target</tspan>() <tspan fill="#c7bf54">~</tspan> <tspan fill="#c1abea">SerializationContextId</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">next-id</tspan>() | |
</text><text x="0" y="650.400000em" xml:space="preserve">                <tspan fill="#c7bf54">!!</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">target</tspan>())); | |
</text><text x="0" y="651.600000em" xml:space="preserve"> | |
</text><text x="0" y="652.800000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$is_nested</tspan> | |
</text><text x="0" y="654.000000em" xml:space="preserve">            <tspan fill="#c7bf54">??</tspan> <tspan fill="#dcaeea">$outer_world</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">create_nested</tspan>() | |
</text><text x="0" y="655.200000em" xml:space="preserve">            <tspan fill="#c7bf54">!!</tspan> <tspan fill="#00b1f7">nqp::isnull</tspan>(<tspan fill="#dcaeea">$file</tspan>) | |
</text><text x="0" y="656.400000em" xml:space="preserve">                <tspan fill="#c7bf54">??</tspan> <tspan fill="#c1abea">Perl6::World</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">new</tspan>(:<tspan fill="#98c379">handle</tspan>(<tspan fill="#dcaeea">$source_id</tspan>)) | |
</text><text x="0" y="657.600000em" xml:space="preserve">                <tspan fill="#c7bf54">!!</tspan> <tspan fill="#c1abea">Perl6::World</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">new</tspan>(:<tspan fill="#98c379">handle</tspan>(<tspan fill="#dcaeea">$source_id</tspan>)<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">description</tspan>(<tspan fill="#dcaeea">$file</tspan>)); | |
</text><text x="0" y="658.800000em" xml:space="preserve"> | |
</text><text x="0" y="660.000000em" xml:space="preserve">        <tspan fill="#c678dd">unless</tspan> <tspan fill="#dcaeea">$is_nested</tspan> { | |
</text><text x="0" y="661.200000em" xml:space="preserve">            <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">add_initializations</tspan>(); | |
</text><text x="0" y="662.400000em" xml:space="preserve">        } | |
</text><text x="0" y="663.600000em" xml:space="preserve"> | |
</text><text x="0" y="664.800000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$cursor</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">comp_unit</tspan>; | |
</text><text x="0" y="666.000000em" xml:space="preserve">        <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">pop_lexpad</tspan>(); <tspan fill="#8a93a5" font-style="italic"># UNIT</tspan> | |
</text><text x="0" y="667.200000em" xml:space="preserve">        <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">pop_lexpad</tspan>(); <tspan fill="#8a93a5" font-style="italic"># UNIT_OUTER</tspan> | |
</text><text x="0" y="668.400000em" xml:space="preserve">        <tspan fill="#dcaeea">$cursor</tspan>; | |
</text><text x="0" y="669.600000em" xml:space="preserve">    } | |
</text><text x="0" y="670.800000em" xml:space="preserve"> | |
</text><text x="0" y="672.000000em" xml:space="preserve">    <tspan fill="#8a93a5" font-style="italic">## Lexer stuff</tspan> | |
</text><text x="0" y="673.200000em" xml:space="preserve"> | |
</text><text x="0" y="674.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">apostrophe</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="675.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><[<tspan fill="#56b6c2"> ' </tspan><tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">- </tspan>]><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="676.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="678.000000em" xml:space="preserve"> | |
</text><text x="0" y="679.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">identifier</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="680.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">ident</tspan>><tspan fill="#56b6c2"> </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">apostrophe</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">ident</tspan>><tspan fill="#56b6c2"> </tspan>]<tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="681.600000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="682.800000em" xml:space="preserve"> | |
</text><text x="0" y="684.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">name</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="685.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="686.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">identifier</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">morename</tspan>><tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="687.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">morename</tspan>><tspan fill="#c7bf54">+</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="688.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="690.000000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="691.200000em" xml:space="preserve"> | |
</text><text x="0" y="692.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">morename</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="693.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*QSIGIL</tspan> <tspan fill="#c7bf54">:=</tspan> '';<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="694.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>'<tspan fill="#98c379">::</tspan>'<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="696.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="697.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2">  </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">(</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">alpha</tspan>><tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="698.400000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="699.600000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">identifier</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="700.800000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>:<tspan fill="#b3d23c">dba</tspan>('<tspan fill="#98c379">indirect name</tspan>')<tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">(</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">~</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">)</tspan>'<tspan fill="#56b6c2"> </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#b756ff" font-weight="bold">ws</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">EXPR</tspan>><tspan fill="#56b6c2"> </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="702.000000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="703.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">::</tspan>'><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>: "<tspan fill="#63c381">X::Syntax::Name::Null</tspan>"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="704.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea">$<bad></tspan><tspan fill="#c7bf54">=</tspan>[<<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">sigil</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">identifier</tspan>>]<tspan fill="#56b6c2"> </tspan>{ <tspan fill="#c678dd">my</tspan> <tspan fill="#ef8383">str</tspan> <tspan fill="#dcaeea">$b</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$<bad></tspan>; <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">malformed</tspan>("<tspan fill="#63c381">lookup of ::</tspan><tspan fill="#dcaeea">$b</tspan><tspan fill="#63c381">; please use ::('</tspan><tspan fill="#dcaeea">$b'</tspan><tspan fill="#63c381">), ::\{'</tspan><tspan fill="#dcaeea">$b'</tspan><tspan fill="#63c381">\}, or ::<</tspan><tspan fill="#dcaeea">$b</tspan><tspan fill="#63c381">></tspan>") }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="705.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="706.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="708.000000em" xml:space="preserve"> | |
</text><text x="0" y="709.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">longname</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="710.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">name</tspan>><tspan fill="#56b6c2"> </tspan>{}<tspan fill="#56b6c2"> </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">:</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.+</tspan><tspan fill="#ef8383">alpha</tspan><tspan fill="#c7bf54">+</tspan>[<tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">< </tspan><tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">[ </tspan><tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">« </tspan>]>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">!</tspan><tspan fill="#00b1f7">RESTRICTED</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">colonpair</tspan>><tspan fill="#56b6c2"> </tspan>]<tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="711.600000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="712.800000em" xml:space="preserve"> | |
</text><text x="0" y="714.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">deflongname</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="715.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>:<tspan fill="#b3d23c">dba</tspan>('<tspan fill="#98c379">new name to be defined</tspan>')<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="716.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">name</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">colonpair</tspan>><tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="717.600000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="718.800000em" xml:space="preserve"> | |
</text><text x="0" y="720.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">subshortname</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="721.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">desigilname</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="722.400000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="723.600000em" xml:space="preserve"> | |
</text><text x="0" y="724.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">sublongname</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="726.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">subshortname</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sigterm</tspan>><tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="727.200000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="728.400000em" xml:space="preserve"> | |
</text><text x="0" y="729.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">deftermnow</tspan> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">defterm</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="730.800000em" xml:space="preserve"> | |
</text><text x="0" y="732.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">defterm</tspan> {<tspan fill="#56b6c2">     </tspan><tspan fill="#8a93a5" font-style="italic"># XXX this is probably too general | |
</tspan></text><text x="0" y="733.200000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan>:<tspan fill="#b3d23c">dba</tspan>('<tspan fill="#98c379">new term to be defined</tspan>')<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="734.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">identifier</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="735.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="736.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">colonpair</tspan>><tspan fill="#c7bf54">+</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="738.000000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>{ | |
</text><text x="0" y="739.200000em" xml:space="preserve">                <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">$<colonpair></tspan><tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">]</tspan><<tspan fill="#98c379">coloncircumfix</tspan>> <tspan fill="#c678dd">-></tspan> <tspan fill="#dcaeea">$cf</tspan> { | |
</text><text x="0" y="740.400000em" xml:space="preserve">                    <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$category</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$<identifier></tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">Str</tspan>; | |
</text><text x="0" y="741.600000em" xml:space="preserve">                    <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$opname</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$cf</tspan><<tspan fill="#98c379">circumfix</tspan>> | |
</text><text x="0" y="742.800000em" xml:space="preserve">                        <tspan fill="#c7bf54">??</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">colonpair_nibble_to_str</tspan>(<tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$cf</tspan><<tspan fill="#98c379">circumfix</tspan>><<tspan fill="#98c379">nibble</tspan>>) | |
</text><text x="0" y="744.000000em" xml:space="preserve">                        <tspan fill="#c7bf54">!!</tspan> ''; | |
</text><text x="0" y="745.200000em" xml:space="preserve">                    <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$canname</tspan>  <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$category</tspan> <tspan fill="#c7bf54">~</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">canonicalize_pair</tspan>('<tspan fill="#98c379">sym</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$opname</tspan>); | |
</text><text x="0" y="746.400000em" xml:space="preserve">                    <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$termname</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$category</tspan> <tspan fill="#c7bf54">~</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">canonicalize_pair</tspan>(''<tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$opname</tspan>); | |
</text><text x="0" y="747.600000em" xml:space="preserve">                    <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">add_categorical</tspan>(<tspan fill="#dcaeea">$category</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$opname</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$canname</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$termname</tspan><tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">defterm</tspan>); | |
</text><text x="0" y="748.800000em" xml:space="preserve">                } | |
</text><text x="0" y="750.000000em" xml:space="preserve">            }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="751.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="752.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="753.600000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="754.800000em" xml:space="preserve"> | |
</text><text x="0" y="756.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">module_name</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="757.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">longname</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="758.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>[<tspan fill="#56b6c2">[</tspan>]><tspan fill="#56b6c2"> </tspan>:<tspan fill="#b3d23c">dba</tspan>('<tspan fill="#98c379">generic role</tspan>')<tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">[</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">~</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">]</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">arglist</tspan>><tspan fill="#56b6c2"> </tspan>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="759.600000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="760.800000em" xml:space="preserve"> | |
</text><text x="0" y="762.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">end_keyword</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="763.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">»</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">!</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan>[<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">( </tspan><tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">\ ' </tspan><tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">- </tspan>]><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\h</tspan><tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">=></tspan>'><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="764.400000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="765.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">end_prefix</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="766.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">end_keyword</tspan>><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\s</tspan><tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="768.000000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="769.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">spacey</tspan> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>[<tspan fill="#d26464" font-weight="bold">\s</tspan><tspan fill="#56b6c2">#</tspan>]><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="770.400000em" xml:space="preserve"> | |
</text><text x="0" y="771.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">kok</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="772.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">end_keyword</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="774.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="775.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan>[<tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\s</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2"># </tspan>]><tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#b756ff" font-weight="bold">ws</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="776.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>{ | |
</text><text x="0" y="777.600000em" xml:space="preserve">                <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$n</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::substr</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">orig</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">from</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">pos</tspan> <tspan fill="#c7bf54">-</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">from</tspan>); | |
</text><text x="0" y="778.800000em" xml:space="preserve">                <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">is_name</tspan>(<tspan fill="#c7bf54">[</tspan><tspan fill="#dcaeea">$n</tspan><tspan fill="#c7bf54">]</tspan>) <tspan fill="#c7bf54">||</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">is_name</tspan>(<tspan fill="#c7bf54">[</tspan>'<tspan fill="#98c379">&</tspan>' <tspan fill="#c7bf54">~</tspan> <tspan fill="#dcaeea">$n</tspan><tspan fill="#c7bf54">]</tspan>) | |
</text><text x="0" y="780.000000em" xml:space="preserve">                    <tspan fill="#c7bf54">??</tspan> <tspan fill="#ef8383">False</tspan> | |
</text><text x="0" y="781.200000em" xml:space="preserve">                    <tspan fill="#c7bf54">!!</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">panic</tspan>("<tspan fill="#63c381">Whitespace required after keyword '</tspan><tspan fill="#dcaeea">$n'</tspan>") | |
</text><text x="0" y="782.400000em" xml:space="preserve">           }><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="783.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="784.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="786.000000em" xml:space="preserve"> | |
</text><text x="0" y="787.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">tok</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="788.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">end_keyword</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="789.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">!</tspan>{ | |
</text><text x="0" y="790.800000em" xml:space="preserve">                <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$n</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::substr</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">orig</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">from</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">pos</tspan> <tspan fill="#c7bf54">-</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">from</tspan>); | |
</text><text x="0" y="792.000000em" xml:space="preserve">                <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">is_name</tspan>(<tspan fill="#c7bf54">[</tspan><tspan fill="#dcaeea">$n</tspan><tspan fill="#c7bf54">]</tspan>) <tspan fill="#c7bf54">||</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">is_name</tspan>(<tspan fill="#c7bf54">[</tspan>'<tspan fill="#98c379">&</tspan>' <tspan fill="#c7bf54">~</tspan> <tspan fill="#dcaeea">$n</tspan><tspan fill="#c7bf54">]</tspan>) | |
</text><text x="0" y="793.200000em" xml:space="preserve">        }><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="794.400000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="795.600000em" xml:space="preserve"> | |
</text><text x="0" y="796.800000em" xml:space="preserve"> | |
</text><text x="0" y="798.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">ENDSTMT</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="799.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="800.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\h</tspan><tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#bda26f">$$</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#b756ff" font-weight="bold">ws</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#00b1f7">MARKER</tspan>('<tspan fill="#98c379">endstmt</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="801.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">unv</tspan>><tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#bda26f">$$</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#b756ff" font-weight="bold">ws</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#00b1f7">MARKER</tspan>('<tspan fill="#98c379">endstmt</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="802.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="804.000000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="805.200000em" xml:space="preserve"> | |
</text><text x="0" y="806.400000em" xml:space="preserve">    <tspan fill="#8a93a5" font-style="italic"># ws is highly performance sensitive. So, we check if we already marked it</tspan> | |
</text><text x="0" y="807.600000em" xml:space="preserve">    <tspan fill="#8a93a5" font-style="italic"># at this point with a simple method, and only if that is not the case do</tspan> | |
</text><text x="0" y="808.800000em" xml:space="preserve">    <tspan fill="#8a93a5" font-style="italic"># we bother doing any pattern matching.</tspan> | |
</text><text x="0" y="810.000000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">ws</tspan>() { | |
</text><text x="0" y="811.200000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">MARKED</tspan>('<tspan fill="#98c379">ws</tspan>') <tspan fill="#c7bf54">??</tspan> <tspan fill="#ef8383">self</tspan> <tspan fill="#c7bf54">!!</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">_ws</tspan>() | |
</text><text x="0" y="812.400000em" xml:space="preserve">    } | |
</text><text x="0" y="813.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">_ws</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="814.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$old_highexpect</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!fresh_highexpect</tspan>'();<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="816.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>:<tspan fill="#b3d23c">dba</tspan>('<tspan fill="#98c379">whitespace</tspan>')<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="817.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">!</tspan><tspan fill="#b756ff" font-weight="bold">ww</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="818.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="819.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>[<tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">r</tspan><tspan fill="#d26464" font-weight="bold">\n</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\v</tspan>]<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">heredoc</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="820.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">unv</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="822.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">unsp</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="823.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">vcs-conflict</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="824.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="825.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#00b1f7">MARKER</tspan>('<tspan fill="#98c379">ws</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="826.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$stub</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!fresh_highexpect</tspan>'();<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="828.000000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="829.200000em" xml:space="preserve"> | |
</text><text x="0" y="830.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">unsp</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="831.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">\ </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\s</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">#</tspan>'><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="832.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>:<tspan fill="#b3d23c">dba</tspan>('<tspan fill="#98c379">unspace</tspan>')<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="834.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="835.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">vws</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="836.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">unv</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="837.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">unsp</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="838.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="840.000000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="841.200000em" xml:space="preserve"> | |
</text><text x="0" y="842.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">vws</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="843.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>:<tspan fill="#b3d23c">dba</tspan>('<tspan fill="#98c379">vertical whitespace</tspan>')<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="844.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="846.000000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="847.200000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\v</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="848.400000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">vcs-conflict</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="849.600000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="850.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#c7bf54">+</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="852.000000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="853.200000em" xml:space="preserve"> | |
</text><text x="0" y="854.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">vcs-conflict</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="855.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="856.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379"><<<<<<<</tspan>'<tspan fill="#56b6c2"> </tspan>{}<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan>[<tspan fill="#bda26f">.</tspan><tspan fill="#c7bf54">*?</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\v</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">=======</tspan>']<tspan fill="#c7bf54">:</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#bda26f">.</tspan><tspan fill="#c7bf54">*?</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\v</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">>>>>>>></tspan>'<tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">sorry</tspan>: '<tspan fill="#98c379">Found a version control conflict marker</tspan>'><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\V</tspan><tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\v</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="858.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">=======</tspan>'<tspan fill="#56b6c2"> </tspan>{}<tspan fill="#56b6c2"> </tspan><tspan fill="#bda26f">.</tspan><tspan fill="#c7bf54">*?</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\v</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">>>>>>>></tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\V</tspan><tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\v</tspan><tspan fill="#56b6c2">   </tspan><tspan fill="#8a93a5" font-style="italic"># ignore second half | |
</tspan></text><text x="0" y="859.200000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="860.400000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="861.600000em" xml:space="preserve"> | |
</text><text x="0" y="862.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">unv</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="864.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>:<tspan fill="#b3d23c">dba</tspan>('<tspan fill="#98c379">horizontal whitespace</tspan>')<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="865.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="866.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\h</tspan><tspan fill="#c7bf54">+</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="867.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\h</tspan><tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">comment</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="868.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\h</tspan><tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">=</tspan>'<tspan fill="#56b6c2"> </tspan>[<tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\w</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">\\</tspan>']<tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> </tspan><tspan fill="#bda26f">^^</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">pod_content_toplevel</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="870.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="871.200000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="872.400000em" xml:space="preserve"> | |
</text><text x="0" y="873.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">install_doc_phaser</tspan> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="874.800000em" xml:space="preserve"> | |
</text><text x="0" y="876.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">vnum</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="877.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#d26464" font-weight="bold">\w</tspan><tspan fill="#c7bf54">+</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">*</tspan>'<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="878.400000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="879.600000em" xml:space="preserve"> | |
</text><text x="0" y="880.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">version</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="882.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> v</tspan><tspan fill="#d26464" font-weight="bold">\d</tspan><tspan fill="#c7bf54">+</tspan><tspan fill="#d26464" font-weight="bold">\w</tspan><tspan fill="#c7bf54">*</tspan>><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">v</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea">$<vstr></tspan><tspan fill="#c7bf54">=</tspan>[<<tspan fill="#00b1f7">vnum</tspan>><tspan fill="#c7bf54">+</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea">%</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">.</tspan>'<tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">+</tspan>'<tspan fill="#c7bf54">?</tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="883.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">!</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">-</tspan>'<tspan fill="#c7bf54">|\</tspan><tspan fill="#56b6c2">'</tspan>><tspan fill="#56b6c2"> </tspan><tspan fill="#8a93a5" font-style="italic"># cheat because of LTM fail | |
</tspan></text><text x="0" y="884.400000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="885.600000em" xml:space="preserve"> | |
</text><text x="0" y="886.800000em" xml:space="preserve">    <tspan fill="#8a93a5" font-style="italic">## Top-level rules</tspan> | |
</text><text x="0" y="888.000000em" xml:space="preserve"> | |
</text><text x="0" y="889.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">comp_unit</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="890.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#8a93a5" font-style="italic"># From STD.pm. | |
</tspan></text><text x="0" y="891.600000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LEFTSIGIL</tspan>;<tspan fill="#56b6c2">                           </tspan><tspan fill="#8a93a5" font-style="italic"># sigil of LHS for item vs list assignment | |
</tspan></text><text x="0" y="892.800000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*SCOPE</tspan> <tspan fill="#c7bf54">:=</tspan> '';<tspan fill="#56b6c2">                         </tspan><tspan fill="#8a93a5" font-style="italic"># which scope declarator we're under | |
</tspan></text><text x="0" y="894.000000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*MULTINESS</tspan> <tspan fill="#c7bf54">:=</tspan> '';<tspan fill="#56b6c2">                     </tspan><tspan fill="#8a93a5" font-style="italic"># which multi declarator we're under | |
</tspan></text><text x="0" y="895.200000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*QSIGIL</tspan> <tspan fill="#c7bf54">:=</tspan> '';<tspan fill="#56b6c2">                        </tspan><tspan fill="#8a93a5" font-style="italic"># sigil of current interpolation | |
</tspan></text><text x="0" y="896.400000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*IN_META</tspan> <tspan fill="#c7bf54">:=</tspan> '';<tspan fill="#56b6c2">                       </tspan><tspan fill="#8a93a5" font-style="italic"># parsing a metaoperator like [..] | |
</tspan></text><text x="0" y="897.600000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*IN_REDUCE</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>;<tspan fill="#56b6c2">                      </tspan><tspan fill="#8a93a5" font-style="italic"># attempting to parse an [op] construct | |
</tspan></text><text x="0" y="898.800000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*IN_DECL</tspan>;<tspan fill="#56b6c2">                             </tspan><tspan fill="#8a93a5" font-style="italic"># what declaration we're in | |
</tspan></text><text x="0" y="900.000000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*IN_RETURN</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>;<tspan fill="#56b6c2">                      </tspan><tspan fill="#8a93a5" font-style="italic"># are we in a return? | |
</tspan></text><text x="0" y="901.200000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*HAS_SELF</tspan> <tspan fill="#c7bf54">:=</tspan> '';<tspan fill="#56b6c2">                      </tspan><tspan fill="#8a93a5" font-style="italic"># is 'self' available? (for $.foo style calls) | |
</tspan></text><text x="0" y="902.400000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*begin_compunit</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">1</tspan>;<tspan fill="#56b6c2">                 </tspan><tspan fill="#8a93a5" font-style="italic"># whether we're at start of a compilation unit | |
</tspan></text><text x="0" y="903.600000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*DECLARAND</tspan>;<tspan fill="#56b6c2">                           </tspan><tspan fill="#8a93a5" font-style="italic"># the current thingy we're declaring, and subject of traits | |
</tspan></text><text x="0" y="904.800000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*CODE_OBJECT</tspan>;<tspan fill="#56b6c2">                         </tspan><tspan fill="#8a93a5" font-style="italic"># the code object we're currently inside | |
</tspan></text><text x="0" y="906.000000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*METHODTYPE</tspan>;<tspan fill="#56b6c2">                          </tspan><tspan fill="#8a93a5" font-style="italic"># the current type of method we're in, if any | |
</tspan></text><text x="0" y="907.200000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*PKGDECL</tspan>;<tspan fill="#56b6c2">                             </tspan><tspan fill="#8a93a5" font-style="italic"># what type of package we're in, if any | |
</tspan></text><text x="0" y="908.400000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">%*MYSTERY</tspan>;<tspan fill="#56b6c2">                             </tspan><tspan fill="#8a93a5" font-style="italic"># names we assume may be post-declared functions | |
</tspan></text><text x="0" y="909.600000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*BORG</tspan> <tspan fill="#c7bf54">:=</tspan> {};<tspan fill="#56b6c2">                          </tspan><tspan fill="#8a93a5" font-style="italic"># who gets blamed for a missing block | |
</tspan></text><text x="0" y="910.800000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*CCSTATE</tspan> <tspan fill="#c7bf54">:=</tspan> '';<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="912.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*STRICT</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="913.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*INVOCANT_OK</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="914.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*INVOCANT</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="915.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*ARG_FLAT_OK</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="916.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*WHENEVER_COUNT</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c7bf54">-</tspan><tspan fill="#d19a66">1</tspan>;<tspan fill="#56b6c2">                </tspan><tspan fill="#8a93a5" font-style="italic"># -1 indicates whenever not valid here | |
</tspan></text><text x="0" y="918.000000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="919.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#8a93a5" font-style="italic"># Error related. There are three levels: worry (just a warning), sorry | |
</tspan></text><text x="0" y="920.400000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#8a93a5" font-style="italic"># (fatal but not immediately so) and panic (immediately deadly). There | |
</tspan></text><text x="0" y="921.600000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#8a93a5" font-style="italic"># is a limit on the number of sorrows also. Unlike STD, which emits the | |
</tspan></text><text x="0" y="922.800000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#8a93a5" font-style="italic"># textual messages as it goes, we keep track of the exception objects | |
</tspan></text><text x="0" y="924.000000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#8a93a5" font-style="italic"># and, if needed, make a composite exception group. | |
</tspan></text><text x="0" y="925.200000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">@*WORRIES</tspan>;<tspan fill="#56b6c2">                             </tspan><tspan fill="#8a93a5" font-style="italic"># exception objects resulting from worry | |
</tspan></text><text x="0" y="926.400000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">@*SORROWS</tspan>;<tspan fill="#56b6c2">                             </tspan><tspan fill="#8a93a5" font-style="italic"># exception objects resulting from sorry | |
</tspan></text><text x="0" y="927.600000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*SORRY_LIMIT</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">10</tspan>;<tspan fill="#56b6c2">                   </tspan><tspan fill="#8a93a5" font-style="italic"># when sorrow turns to panic | |
</tspan></text><text x="0" y="928.800000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="930.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#8a93a5" font-style="italic"># Extras. | |
</tspan></text><text x="0" y="931.200000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">@*NQP_VIOLATIONS</tspan>;<tspan fill="#56b6c2">                      </tspan><tspan fill="#8a93a5" font-style="italic"># nqp::ops per line number | |
</tspan></text><text x="0" y="932.400000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">%*HANDLERS</tspan>;<tspan fill="#56b6c2">                            </tspan><tspan fill="#8a93a5" font-style="italic"># block exception handlers | |
</tspan></text><text x="0" y="933.600000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*IMPLICIT</tspan>;<tspan fill="#56b6c2">                            </tspan><tspan fill="#8a93a5" font-style="italic"># whether we allow an implicit param | |
</tspan></text><text x="0" y="934.800000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*HAS_YOU_ARE_HERE</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>;<tspan fill="#56b6c2">               </tspan><tspan fill="#8a93a5" font-style="italic"># whether {YOU_ARE_HERE} has shown up | |
</tspan></text><text x="0" y="936.000000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*OFTYPE</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="937.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*VMARGIN</tspan>    <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>;<tspan fill="#56b6c2">                     </tspan><tspan fill="#8a93a5" font-style="italic"># pod stuff | |
</tspan></text><text x="0" y="938.400000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*ALLOW_INLINE_CODE</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>;<tspan fill="#56b6c2">              </tspan><tspan fill="#8a93a5" font-style="italic"># pod stuff | |
</tspan></text><text x="0" y="939.600000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*POD_IN_CODE_BLOCK</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>;<tspan fill="#56b6c2">              </tspan><tspan fill="#8a93a5" font-style="italic"># pod stuff | |
</tspan></text><text x="0" y="940.800000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*POD_IN_FORMATTINGCODE</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>;<tspan fill="#56b6c2">          </tspan><tspan fill="#8a93a5" font-style="italic"># pod stuff | |
</tspan></text><text x="0" y="942.000000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*POD_ALLOW_FCODES</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0b11111111111111111111111111</tspan>;<tspan fill="#56b6c2"> </tspan><tspan fill="#8a93a5" font-style="italic"># allow which fcodes? | |
</tspan></text><text x="0" y="943.200000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*POD_ANGLE_COUNT</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>;<tspan fill="#56b6c2">                </tspan><tspan fill="#8a93a5" font-style="italic"># pod stuff | |
</tspan></text><text x="0" y="944.400000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*IN_REGEX_ASSERTION</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="945.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*IN_PROTO</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>;<tspan fill="#56b6c2">                       </tspan><tspan fill="#8a93a5" font-style="italic"># are we inside a proto? | |
</tspan></text><text x="0" y="946.800000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*NEXT_STATEMENT_ID</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">1</tspan>;<tspan fill="#56b6c2">              </tspan><tspan fill="#8a93a5" font-style="italic"># to give each statement an ID | |
</tspan></text><text x="0" y="948.000000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*IN_STMT_MOD</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>;<tspan fill="#56b6c2">                    </tspan><tspan fill="#8a93a5" font-style="italic"># are we inside a statement modifier? | |
</tspan></text><text x="0" y="949.200000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*COMPILING_CORE_SETTING</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>;<tspan fill="#56b6c2">         </tspan><tspan fill="#8a93a5" font-style="italic"># are we compiling CORE.setting? | |
</tspan></text><text x="0" y="950.400000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*SET_DEFAULT_LANG_VER</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">1</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="951.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">%*SIG_INFO</tspan>;<tspan fill="#56b6c2">                            </tspan><tspan fill="#8a93a5" font-style="italic"># information about recent signature | |
</tspan></text><text x="0" y="952.800000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*CAN_LOWER_TOPIC</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">1</tspan>;<tspan fill="#56b6c2">                </tspan><tspan fill="#8a93a5" font-style="italic"># true if we optimize the $_ lexical away | |
</tspan></text><text x="0" y="954.000000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*MAY_USE_RETURN</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>;<tspan fill="#56b6c2">                 </tspan><tspan fill="#8a93a5" font-style="italic"># true if the current routine may use return | |
</tspan></text><text x="0" y="955.200000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="956.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#8a93a5" font-style="italic"># Various interesting scopes we'd like to keep to hand. | |
</tspan></text><text x="0" y="957.600000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*GLOBALish</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="958.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*PACKAGE</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="960.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*UNIT</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="961.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*UNIT_OUTER</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="962.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*EXPORT</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="963.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#8a93a5" font-style="italic"># stack of packages, which the 'is export' needs | |
</tspan></text><text x="0" y="964.800000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">@*PACKAGES</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c7bf54">[]</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="966.000000em" xml:space="preserve"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="967.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#8a93a5" font-style="italic"># A place for Pod | |
</tspan></text><text x="0" y="968.400000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*POD_BLOCKS</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c7bf54">[]</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="969.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*POD_BLOCKS_SEEN</tspan> <tspan fill="#c7bf54">:=</tspan> {};<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="970.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*POD_PAST</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="972.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*DECLARATOR_DOCS</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="973.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*PRECEDING_DECL</tspan>;<tspan fill="#56b6c2"> </tspan><tspan fill="#8a93a5" font-style="italic"># for #= comments | |
</tspan></text><text x="0" y="974.400000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*PRECEDING_DECL_LINE</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c7bf54">-</tspan><tspan fill="#d19a66">1</tspan>;<tspan fill="#56b6c2"> </tspan><tspan fill="#8a93a5" font-style="italic"># XXX update this when I see another comment like it? | |
</tspan></text><text x="0" y="975.600000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*keep-decl</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::existskey</tspan>(<tspan fill="#00b1f7">nqp::getenvhash</tspan>()<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">RAKUDO_POD_DECL_BLOCK_USER_FORMAT</tspan>');<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="976.800000em" xml:space="preserve"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="978.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#8a93a5" font-style="italic"># TODO use these vars to implement S26 pod data block handling | |
</tspan></text><text x="0" y="979.200000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*DATA-BLOCKS</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c7bf54">[]</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="980.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">%*DATA-BLOCKS</tspan> <tspan fill="#c7bf54">:=</tspan> {};<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="981.600000em" xml:space="preserve"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="982.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#8a93a5" font-style="italic"># Quasis and unquotes | |
</tspan></text><text x="0" y="984.000000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*IN_QUASI</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>;<tspan fill="#56b6c2">                       </tspan><tspan fill="#8a93a5" font-style="italic"># whether we're currently in a quasi block | |
</tspan></text><text x="0" y="985.200000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*MAIN</tspan> <tspan fill="#c7bf54">:=</tspan> '<tspan fill="#98c379">MAIN</tspan>';<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="986.400000em" xml:space="preserve"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="987.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#8a93a5" font-style="italic"># performance improvement stuff | |
</tspan></text><text x="0" y="988.800000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*FAKE_INFIX_FOUND</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="990.000000em" xml:space="preserve"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="991.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#8a93a5" font-style="italic"># for runaway detection | |
</tspan></text><text x="0" y="992.400000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LASTQUOTE</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">,</tspan><tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">]</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="993.600000em" xml:space="preserve"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="994.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>{ | |
</text><text x="0" y="996.000000em" xml:space="preserve">            <tspan fill="#00b1f7">nqp::getcomp</tspan>('<tspan fill="#98c379">Raku</tspan>')<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">reset_language_version</tspan>(); | |
</text><text x="0" y="997.200000em" xml:space="preserve">            <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">comp_unit_stage0</tspan>(<tspan fill="#dcaeea">$/</tspan>) | |
</text><text x="0" y="998.400000em" xml:space="preserve">        }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="999.600000em" xml:space="preserve"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1000.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">bom</tspan>><tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1002.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">lang-version</tspan>><tspan fill="#56b6c2"> </tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">comp_unit_stage1</tspan>(<tspan fill="#dcaeea">$/</tspan>) }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1003.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">finishpad</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1004.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#dcaeea">statementlist</tspan><tspan fill="#c7bf54">=.</tspan><tspan fill="#00b1f7">FOREIGN_LANG</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*MAIN</tspan><tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">statementlist</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#d19a66">1</tspan>)><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1005.600000em" xml:space="preserve"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1006.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">install_doc_phaser</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1008.000000em" xml:space="preserve"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1009.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> </tspan><tspan fill="#bda26f">$</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>: '<tspan fill="#98c379">X::Syntax::Confused</tspan>'><tspan fill="#56b6c2"> </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1010.400000em" xml:space="preserve"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1011.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">explain_mystery</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1012.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">cry_sorrows</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1014.000000em" xml:space="preserve"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1015.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">mop_up_and_check</tspan>(<tspan fill="#dcaeea">$/</tspan>) }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1016.400000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1017.600000em" xml:space="preserve"> | |
</text><text x="0" y="1018.800000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">clonecursor</tspan>() { | |
</text><text x="0" y="1020.000000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$new</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!cursor_init</tspan>'( | |
</text><text x="0" y="1021.200000em" xml:space="preserve">            <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">orig</tspan>()<tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="1022.400000em" xml:space="preserve">            :<tspan fill="#98c379">p</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">pos</tspan>())<tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="1023.600000em" xml:space="preserve">            :<tspan fill="#98c379">shared</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!shared</tspan>'())<tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="1024.800000em" xml:space="preserve">            :<tspan fill="#98c379">braid</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan>"<tspan fill="#63c381">!braid</tspan>"()<tspan fill="#c7bf54">.</tspan>"<tspan fill="#63c381">!clone</tspan>"())); | |
</text><text x="0" y="1026.000000em" xml:space="preserve">        <tspan fill="#dcaeea">$new</tspan>; | |
</text><text x="0" y="1027.200000em" xml:space="preserve">    } | |
</text><text x="0" y="1028.400000em" xml:space="preserve"> | |
</text><text x="0" y="1029.600000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">lang-version</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1030.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$comp</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::getcomp</tspan>('<tspan fill="#98c379">Raku</tspan>');<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1032.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1033.200000em" xml:space="preserve"><tspan fill="#56b6c2">          </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#b756ff" font-weight="bold">ws</tspan>><tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">use</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">version</tspan>><tspan fill="#56b6c2"> </tspan>{}<tspan fill="#56b6c2"> </tspan><tspan fill="#8a93a5" font-style="italic"># <-- update $/ so we can grab $<version> | |
</tspan></text><text x="0" y="1034.400000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">          </tspan><tspan fill="#8a93a5" font-style="italic"># we parse out the numeral, since we could have "6d" | |
</tspan></text><text x="0" y="1035.600000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">          </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$version</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::radix</tspan>(<tspan fill="#d19a66">10</tspan><tspan fill="#c7bf54">,</tspan><tspan fill="#dcaeea">$<version></tspan><<tspan fill="#98c379">vnum</tspan>><tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">],</tspan><tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">,</tspan><tspan fill="#d19a66">0</tspan>)<tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">]</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1036.800000em" xml:space="preserve"><tspan fill="#56b6c2">          </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1038.000000em" xml:space="preserve"><tspan fill="#56b6c2">          </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2">  </tspan><<tspan fill="#c7bf54">?</tspan>{ <tspan fill="#dcaeea">$version</tspan> <tspan fill="#c7bf54">==</tspan> <tspan fill="#d19a66">6</tspan> }><tspan fill="#56b6c2"> </tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">load-lang-ver</tspan><tspan fill="#c7bf54">:</tspan> <tspan fill="#dcaeea">$<version></tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$comp</tspan> }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1039.200000em" xml:space="preserve"><tspan fill="#56b6c2">          </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2">  </tspan>{ <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan><tspan fill="#c7bf54">:</tspan> '<tspan fill="#98c379">X::Language::Unsupported</tspan>'<tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="1040.400000em" xml:space="preserve">                  <tspan fill="#98c379">version</tspan> <tspan fill="#c7bf54">=></tspan> <tspan fill="#c7bf54">~</tspan><tspan fill="#dcaeea">$<version></tspan> }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1041.600000em" xml:space="preserve"><tspan fill="#56b6c2">          </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1042.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan>{ | |
</text><text x="0" y="1044.000000em" xml:space="preserve">              <tspan fill="#8a93a5" font-style="italic"># This is the path we take when the user did not</tspan> | |
</text><text x="0" y="1045.200000em" xml:space="preserve">              <tspan fill="#8a93a5" font-style="italic"># provide any `use v6.blah` lang version statement</tspan> | |
</text><text x="0" y="1046.400000em" xml:space="preserve">              <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">load-lang-ver</tspan><tspan fill="#c7bf54">:</tspan> '<tspan fill="#98c379">v6</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$comp</tspan> <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea" font-weight="bold">$*SET_DEFAULT_LANG_VER</tspan>; | |
</text><text x="0" y="1047.600000em" xml:space="preserve">          }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1048.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1050.000000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1051.200000em" xml:space="preserve"> | |
</text><text x="0" y="1052.400000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statementlist</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*statement_level</tspan> <tspan fill="#c7bf54">=</tspan> <tspan fill="#d19a66">0</tspan>) {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1053.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LANG</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1054.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LEAF</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1056.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">%*LANG</tspan>   <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">shallow_copy</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">slangs</tspan>);<tspan fill="#56b6c2">   </tspan><tspan fill="#8a93a5" font-style="italic"># XXX deprecated | |
</tspan></text><text x="0" y="1057.200000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*STRICT</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::getlexdyn</tspan>('<tspan fill="#98c379">$*STRICT</tspan>');<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1058.400000em" xml:space="preserve"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1059.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>:<tspan fill="#b3d23c">dba</tspan>('<tspan fill="#98c379">statement list</tspan>')<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1060.800000em" xml:space="preserve"><tspan fill="#56b6c2"></tspan><tspan fill="#8a93a5" font-style="italic">#        <.check_LANG_oopsies('statementlist')> | |
</tspan></text><text x="0" y="1062.000000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#b756ff" font-weight="bold">ws</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1063.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#8a93a5" font-style="italic"># Define this scope to be a new language. | |
</tspan></text><text x="0" y="1064.400000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">!!</tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*LANG</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LEAF</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">clone_braid_from</tspan>(<tspan fill="#ef8383">self</tspan>); <tspan fill="#d19a66">1</tspan> }><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1065.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1066.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#bda26f">$</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1068.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan>[<tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">)</tspan><tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">]</tspan><tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">}</tspan>]>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1069.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">statement</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">eat_terminator</tspan>><tspan fill="#56b6c2"> </tspan>]<tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1070.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1071.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">set_braid_from</tspan>(<tspan fill="#ef8383">self</tspan>)><tspan fill="#56b6c2">   </tspan><tspan fill="#8a93a5" font-style="italic"># any language tweaks must not escape | |
</tspan></text><text x="0" y="1072.800000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">!!</tspan>{ <tspan fill="#00b1f7">nqp::rebless</tspan>(<tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">WHAT</tspan>); <tspan fill="#d19a66">1</tspan> }><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1074.000000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1075.200000em" xml:space="preserve"> | |
</text><text x="0" y="1076.400000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">shallow_copy</tspan>(<tspan fill="#dcaeea">%hash</tspan>) { | |
</text><text x="0" y="1077.600000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">%result</tspan>; | |
</text><text x="0" y="1078.800000em" xml:space="preserve">        <tspan fill="#c678dd">for</tspan> <tspan fill="#dcaeea">%hash</tspan> { | |
</text><text x="0" y="1080.000000em" xml:space="preserve">            <tspan fill="#dcaeea">%result</tspan>{<tspan fill="#dcaeea">$_</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">key</tspan>} <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$_</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">value</tspan>; | |
</text><text x="0" y="1081.200000em" xml:space="preserve">        } | |
</text><text x="0" y="1082.400000em" xml:space="preserve">        <tspan fill="#dcaeea">%result</tspan> | |
</text><text x="0" y="1083.600000em" xml:space="preserve">    } | |
</text><text x="0" y="1084.800000em" xml:space="preserve"> | |
</text><text x="0" y="1086.000000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">semilist</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1087.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>:<tspan fill="#b3d23c">dba</tspan>('<tspan fill="#98c379">list composer</tspan>')<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1088.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>''<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1089.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1090.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan>[<tspan fill="#56b6c2">)</tspan><tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">]}</tspan>]><tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1092.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>[<<tspan fill="#00b1f7">statement</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">eat_terminator</tspan>><tspan fill="#56b6c2"> </tspan>]<tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1093.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1094.400000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1095.600000em" xml:space="preserve"> | |
</text><text x="0" y="1096.800000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">sequence</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1098.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>:<tspan fill="#b3d23c">dba</tspan>('<tspan fill="#98c379">sequence of statements</tspan>')<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1099.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>''<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1100.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1101.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan>[<tspan fill="#56b6c2">)</tspan><tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">]}</tspan>]><tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1102.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>[<<tspan fill="#00b1f7">statement</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">eat_terminator</tspan>><tspan fill="#56b6c2"> </tspan>]<tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1104.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1105.200000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1106.400000em" xml:space="preserve"> | |
</text><text x="0" y="1107.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">label</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1108.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">identifier</tspan>><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">:</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>[<tspan fill="#d26464" font-weight="bold">\s</tspan>]><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#b756ff" font-weight="bold">ws</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1110.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>{ | |
</text><text x="0" y="1111.200000em" xml:space="preserve">            <tspan fill="#dcaeea" font-weight="bold">$*LABEL</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c7bf54">~</tspan><tspan fill="#dcaeea">$<identifier></tspan>; | |
</text><text x="0" y="1112.400000em" xml:space="preserve">            <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">already_declared</tspan>('<tspan fill="#98c379">my</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">package</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">cur_lexpad</tspan>()<tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">[</tspan><tspan fill="#dcaeea" font-weight="bold">$*LABEL</tspan><tspan fill="#c7bf54">]</tspan>) { | |
</text><text x="0" y="1113.600000em" xml:space="preserve">                <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">throw</tspan>(<tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">[</tspan>'<tspan fill="#98c379">X</tspan>'<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">Redeclaration</tspan>'<tspan fill="#c7bf54">],</tspan> <tspan fill="#98c379">symbol</tspan> <tspan fill="#c7bf54">=></tspan> <tspan fill="#dcaeea" font-weight="bold">$*LABEL</tspan>); | |
</text><text x="0" y="1114.800000em" xml:space="preserve">            } | |
</text><text x="0" y="1116.000000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#ef8383">str</tspan> <tspan fill="#dcaeea">$orig</tspan>      <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">orig</tspan>(); | |
</text><text x="0" y="1117.200000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#ef8383">int</tspan> <tspan fill="#dcaeea">$total</tspan>     <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::chars</tspan>(<tspan fill="#dcaeea">$orig</tspan>); | |
</text><text x="0" y="1118.400000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#ef8383">int</tspan> <tspan fill="#dcaeea">$from</tspan>      <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">MATCH</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">from</tspan>(); | |
</text><text x="0" y="1119.600000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#ef8383">int</tspan> <tspan fill="#dcaeea">$to</tspan>        <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">MATCH</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">to</tspan>() <tspan fill="#c7bf54">+</tspan> <tspan fill="#00b1f7">nqp::chars</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*LABEL</tspan>); | |
</text><text x="0" y="1120.800000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#ef8383">int</tspan> <tspan fill="#dcaeea">$line</tspan>      <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c1abea">HLL::Compiler</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">lineof</tspan>(<tspan fill="#dcaeea">$orig</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">from</tspan>()<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">cache</tspan>(<tspan fill="#d19a66">1</tspan>)); | |
</text><text x="0" y="1122.000000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#ef8383">str</tspan> <tspan fill="#dcaeea">$prematch</tspan>  <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::substr</tspan>(<tspan fill="#dcaeea">$orig</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$from</tspan> <tspan fill="#c7bf54">></tspan> <tspan fill="#d19a66">20</tspan> <tspan fill="#c7bf54">??</tspan> <tspan fill="#dcaeea">$from</tspan> <tspan fill="#c7bf54">-</tspan> <tspan fill="#d19a66">20</tspan> <tspan fill="#c7bf54">!!</tspan> <tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$from</tspan> <tspan fill="#c7bf54">></tspan> <tspan fill="#d19a66">20</tspan> <tspan fill="#c7bf54">??</tspan> <tspan fill="#d19a66">20</tspan> <tspan fill="#c7bf54">!!</tspan> <tspan fill="#dcaeea">$from</tspan>); | |
</text><text x="0" y="1123.200000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#ef8383">str</tspan> <tspan fill="#dcaeea">$postmatch</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::substr</tspan>(<tspan fill="#dcaeea">$orig</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$to</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#d19a66">20</tspan>); | |
</text><text x="0" y="1124.400000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$label</tspan>     <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">find_single_symbol</tspan>('<tspan fill="#98c379">Label</tspan>')<tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">new</tspan>( :<tspan fill="#98c379">name</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*LABEL</tspan>)<tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">:</tspan><tspan fill="#dcaeea">$line</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">:</tspan><tspan fill="#dcaeea">$prematch</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">:</tspan><tspan fill="#dcaeea">$postmatch</tspan> ); | |
</text><text x="0" y="1125.600000em" xml:space="preserve">            <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">add_object_if_no_sc</tspan>(<tspan fill="#dcaeea">$label</tspan>); | |
</text><text x="0" y="1126.800000em" xml:space="preserve">            <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">install_lexical_symbol</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">cur_lexpad</tspan>()<tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LABEL</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$label</tspan>); | |
</text><text x="0" y="1128.000000em" xml:space="preserve">        }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1129.200000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1130.400000em" xml:space="preserve"> | |
</text><text x="0" y="1131.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*LABEL</tspan> <tspan fill="#c7bf54">=</tspan> '') {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1132.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*QSIGIL</tspan> <tspan fill="#c7bf54">:=</tspan> '';<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1134.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*SCOPE</tspan> <tspan fill="#c7bf54">:=</tspan> '';<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1135.200000em" xml:space="preserve"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1136.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#8a93a5" font-style="italic"># NOTE: annotations that use STATEMENT_ID often also need IN_STMT_MOD annotation, in order | |
</tspan></text><text x="0" y="1137.600000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#8a93a5" font-style="italic"># to correctly migrate QAST::Blocks in constructs inside topics of statement modifiers | |
</tspan></text><text x="0" y="1138.800000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*STATEMENT_ID</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*NEXT_STATEMENT_ID</tspan><tspan fill="#c7bf54">++</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1140.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*IN_STMT_MOD</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::getlexdyn</tspan>('<tspan fill="#98c379">$*IN_STMT_MOD</tspan>');<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1141.200000em" xml:space="preserve"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1142.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*ESCAPEBLOCK</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1143.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$actions</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">slang_actions</tspan>('<tspan fill="#98c379">MAIN</tspan>');<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1144.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">!!</tspan>{ <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">set_actions</tspan>(<tspan fill="#dcaeea">$actions</tspan>); <tspan fill="#d19a66">1</tspan> }><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1146.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">!</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan>[<tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">])}</tspan>]><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#bda26f">$</tspan><tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1147.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">!</tspan><tspan fill="#00b1f7">stopper</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1148.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">!!</tspan>{ <tspan fill="#00b1f7">nqp::rebless</tspan>(<tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">slang_grammar</tspan>('<tspan fill="#98c379">MAIN</tspan>')); <tspan fill="#d19a66">1</tspan> }><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1149.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1150.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">label</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">statement</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*LABEL</tspan>)><tspan fill="#56b6c2"> </tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*LABEL</tspan> <tspan fill="#c7bf54">:=</tspan> '' <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LABEL</tspan> }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1152.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">statement_control</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1153.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">EXPR</tspan>><tspan fill="#56b6c2"> </tspan>:<tspan fill="#b3d23c">dba</tspan>('<tspan fill="#98c379">statement end</tspan>')<tspan fill="#56b6c2"> </tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*IN_STMT_MOD</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">1</tspan> }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1154.400000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1155.600000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#00b1f7">MARKED</tspan>('<tspan fill="#98c379">endstmt</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1156.800000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan>:<tspan fill="#b3d23c">dba</tspan>('<tspan fill="#98c379">statement modifier</tspan>')<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#b756ff" font-weight="bold">ws</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">statement_mod_cond</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">statement_mod_loop</tspan>><tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1158.000000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan>:<tspan fill="#b3d23c">dba</tspan>('<tspan fill="#98c379">statement modifier loop</tspan>')<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#b756ff" font-weight="bold">ws</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">statement_mod_loop</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1159.200000em" xml:space="preserve"><tspan fill="#56b6c2">                </tspan>{ | |
</text><text x="0" y="1160.400000em" xml:space="preserve">                    <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$sp</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$<EXPR></tspan><<tspan fill="#98c379">statement_prefix</tspan>>; | |
</text><text x="0" y="1161.600000em" xml:space="preserve">                    <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">$sp</tspan> <tspan fill="#c7bf54">&&</tspan> <tspan fill="#dcaeea">$sp</tspan><<tspan fill="#98c379">sym</tspan>> <tspan fill="#b756ff" font-weight="bold">eq</tspan> '<tspan fill="#98c379">do</tspan>' { | |
</text><text x="0" y="1162.800000em" xml:space="preserve">                        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$s</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$<statement_mod_loop></tspan><<tspan fill="#98c379">sym</tspan>>; | |
</text><text x="0" y="1164.000000em" xml:space="preserve">                        <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obs</tspan>("<tspan fill="#63c381">do...</tspan>" <tspan fill="#c7bf54">~</tspan> <tspan fill="#dcaeea">$s</tspan><tspan fill="#c7bf54">,</tspan> "<tspan fill="#63c381">repeat...while or repeat...until</tspan>") | |
</text><text x="0" y="1165.200000em" xml:space="preserve">                          <tspan fill="#c678dd">unless</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LANG</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">pragma</tspan>('<tspan fill="#98c379">p5isms</tspan>'); | |
</text><text x="0" y="1166.400000em" xml:space="preserve">                    } | |
</text><text x="0" y="1167.600000em" xml:space="preserve">                }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1168.800000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1170.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>[<tspan fill="#56b6c2">;</tspan>]><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1171.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#00b1f7">stopper</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1172.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>{}<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">panic</tspan>: "<tspan fill="#63c381">Bogus statement</tspan>"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1173.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1174.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1176.000000em" xml:space="preserve"> | |
</text><text x="0" y="1177.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">eat_terminator</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1178.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">;</tspan>'<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1179.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#00b1f7">MARKED</tspan>('<tspan fill="#98c379">endstmt</tspan>')><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#b756ff" font-weight="bold">ws</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1180.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">)</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">]</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">}</tspan>'<tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1182.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#bda26f">$</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1183.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#00b1f7">stopper</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1184.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan>[<tspan fill="#56b6c2">if</tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2">while</tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2">for</tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2">loop</tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2">repeat</tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2">given</tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2">when</tspan>]<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">»</tspan><tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> </tspan>{ <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!clear_highwater</tspan>'(); <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>( '<tspan fill="#98c379">X::Syntax::Confused</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#98c379">reason</tspan> <tspan fill="#c7bf54">=></tspan> "<tspan fill="#63c381">Missing semicolon</tspan>" ) }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1185.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan>{ <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>( '<tspan fill="#98c379">X::Syntax::Confused</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#98c379">reason</tspan> <tspan fill="#c7bf54">=></tspan> "<tspan fill="#63c381">Confused</tspan>" ) }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1186.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1188.000000em" xml:space="preserve"> | |
</text><text x="0" y="1189.200000em" xml:space="preserve">    <tspan fill="#8a93a5" font-style="italic"># Options for xblock/block implicit topic.</tspan> | |
</text><text x="0" y="1190.400000em" xml:space="preserve">    <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$PBLOCK_NO_TOPIC</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>; | |
</text><text x="0" y="1191.600000em" xml:space="preserve">    <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$PBLOCK_OPTIONAL_TOPIC</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">1</tspan>; | |
</text><text x="0" y="1192.800000em" xml:space="preserve">    <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$PBLOCK_REQUIRED_TOPIC</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">2</tspan>; | |
</text><text x="0" y="1194.000000em" xml:space="preserve"> | |
</text><text x="0" y="1195.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">xblock</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*IMPLICIT</tspan> <tspan fill="#c7bf54">=</tspan> <tspan fill="#dcaeea">$PBLOCK_NO_TOPIC</tspan>) {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1196.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*GOAL</tspan> <tspan fill="#c7bf54">:=</tspan> '<tspan fill="#98c379">{</tspan>';<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1197.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*BORG</tspan> <tspan fill="#c7bf54">:=</tspan> {};<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1198.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">EXPR</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#b756ff" font-weight="bold">ws</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">pblock</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*IMPLICIT</tspan>)><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1200.000000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1201.200000em" xml:space="preserve"> | |
</text><text x="0" y="1202.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">pblock</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*IMPLICIT</tspan> <tspan fill="#c7bf54">=</tspan> <tspan fill="#dcaeea">$PBLOCK_NO_TOPIC</tspan>) {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1203.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*DECLARAND</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">stub_code_object</tspan>('<tspan fill="#98c379">Block</tspan>');<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1204.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*CODE_OBJECT</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*DECLARAND</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1206.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*SIG_OBJ</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1207.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">%*SIG_INFO</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1208.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*POD_BLOCK</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1209.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*DOC</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*DECLARATOR_DOCS</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1210.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LINE_NO</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c1abea">HLL::Compiler</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">lineof</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">orig</tspan>()<tspan fill="#c7bf54">,</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">from</tspan>()<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">cache</tspan>(<tspan fill="#d19a66">1</tspan>));<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1212.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*FATAL</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">pragma</tspan>('<tspan fill="#98c379">fatal</tspan>');<tspan fill="#56b6c2">  </tspan><tspan fill="#8a93a5" font-style="italic"># can also be set inside statementlist | |
</tspan></text><text x="0" y="1213.200000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan>{ | |
</text><text x="0" y="1214.400000em" xml:space="preserve">            <tspan fill="#dcaeea" font-weight="bold">$*DECLARATOR_DOCS</tspan> <tspan fill="#c7bf54">:=</tspan> ''; | |
</text><text x="0" y="1215.600000em" xml:space="preserve"> | |
</text><text x="0" y="1216.800000em" xml:space="preserve">            <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea" font-weight="bold">$*PRECEDING_DECL_LINE</tspan> <tspan fill="#c7bf54"><</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LINE_NO</tspan> { | |
</text><text x="0" y="1218.000000em" xml:space="preserve">                <tspan fill="#dcaeea" font-weight="bold">$*PRECEDING_DECL_LINE</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LINE_NO</tspan>; | |
</text><text x="0" y="1219.200000em" xml:space="preserve">                <tspan fill="#dcaeea" font-weight="bold">$*PRECEDING_DECL</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*DECLARAND</tspan>; | |
</text><text x="0" y="1220.400000em" xml:space="preserve">            } | |
</text><text x="0" y="1221.600000em" xml:space="preserve">        }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1222.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">attach_leading_docs</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1224.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>:<tspan fill="#b3d23c">dba</tspan>('<tspan fill="#98c379">block or pointy block</tspan>')<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1225.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$borg</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*BORG</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1226.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$has_mystery</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*MYSTERY</tspan> <tspan fill="#c7bf54">??</tspan> <tspan fill="#d19a66">1</tspan> <tspan fill="#c7bf54">!!</tspan> <tspan fill="#d19a66">0</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1227.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*BORG</tspan> <tspan fill="#c7bf54">:=</tspan> {} }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1228.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1230.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">lambda</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1231.200000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">newpad</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1232.400000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*SCOPE</tspan> <tspan fill="#c7bf54">:=</tspan> '<tspan fill="#98c379">my</tspan>';<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1233.600000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*GOAL</tspan> <tspan fill="#c7bf54">:=</tspan> '<tspan fill="#98c379">{</tspan>';<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1234.800000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><<tspan fill="#00b1f7">signature</tspan>><tspan fill="#56b6c2"> </tspan>{ | |
</text><text x="0" y="1236.000000em" xml:space="preserve">                <tspan fill="#dcaeea" font-weight="bold">%*SIG_INFO</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$<signature></tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">ast</tspan>; | |
</text><text x="0" y="1237.200000em" xml:space="preserve">                <tspan fill="#dcaeea" font-weight="bold">$*SIG_OBJ</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">create_signature_and_params</tspan>(<tspan fill="#dcaeea">$<signature></tspan><tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="1238.400000em" xml:space="preserve">                    <tspan fill="#dcaeea" font-weight="bold">%*SIG_INFO</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">cur_lexpad</tspan>()<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">Mu</tspan>'<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">rw</tspan>(<tspan fill="#dcaeea">$<lambda></tspan> <tspan fill="#b756ff" font-weight="bold">eq</tspan> '<tspan fill="#98c379"><-></tspan>')); | |
</text><text x="0" y="1239.600000em" xml:space="preserve">            }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1240.800000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><<tspan fill="#00b1f7">blockoid</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1242.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>[<tspan fill="#56b6c2">{</tspan>]><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1243.200000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">newpad</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1244.400000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><<tspan fill="#00b1f7">blockoid</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1245.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">missing_block</tspan>(<tspan fill="#dcaeea">$borg</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$has_mystery</tspan>)><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1246.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1248.000000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1249.200000em" xml:space="preserve"> | |
</text><text x="0" y="1250.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">lambda</tspan> {<tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">-></tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379"><-></tspan>'<tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1251.600000em" xml:space="preserve"> | |
</text><text x="0" y="1252.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">block</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*IMPLICIT</tspan> <tspan fill="#c7bf54">=</tspan> <tspan fill="#d19a66">0</tspan>) {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1254.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*DECLARAND</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">stub_code_object</tspan>('<tspan fill="#98c379">Block</tspan>');<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1255.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*CODE_OBJECT</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*DECLARAND</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1256.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*SIG_OBJ</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1257.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">%*SIG_INFO</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1258.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>:<tspan fill="#b3d23c">dba</tspan>('<tspan fill="#98c379">scoped block</tspan>')<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1260.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$borg</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*BORG</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1261.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$has_mystery</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*MYSTERY</tspan> <tspan fill="#c7bf54">??</tspan> <tspan fill="#d19a66">1</tspan> <tspan fill="#c7bf54">!!</tspan> <tspan fill="#d19a66">0</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1262.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*FATAL</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">pragma</tspan>('<tspan fill="#98c379">fatal</tspan>');<tspan fill="#56b6c2">  </tspan><tspan fill="#8a93a5" font-style="italic"># can also be set inside statementlist | |
</tspan></text><text x="0" y="1263.600000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*BORG</tspan> <tspan fill="#c7bf54">:=</tspan> {} }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1264.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>[<tspan fill="#56b6c2">{</tspan>]><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">missing_block</tspan>(<tspan fill="#dcaeea">$borg</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$has_mystery</tspan>)>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1266.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">newpad</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1267.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">blockoid</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1268.400000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1269.600000em" xml:space="preserve"> | |
</text><text x="0" y="1270.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">blockoid</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1272.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*CURPAD</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1273.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">%*HANDLERS</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1274.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">finishpad</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1275.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$borg</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*BORG</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1276.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$has_mystery</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*MYSTERY</tspan> <tspan fill="#c7bf54">??</tspan> <tspan fill="#d19a66">1</tspan> <tspan fill="#c7bf54">!!</tspan> <tspan fill="#d19a66">0</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1278.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*BORG</tspan> <tspan fill="#c7bf54">:=</tspan> {} }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1279.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1280.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">{YOU_ARE_HERE}</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">you_are_here</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1281.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>:<tspan fill="#b3d23c">dba</tspan>('<tspan fill="#98c379">block</tspan>')<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1282.800000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>'<tspan fill="#98c379">{</tspan>'<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1284.000000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><<tspan fill="#c7bf54">!!</tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*VARIABLE</tspan> <tspan fill="#c7bf54">:=</tspan> '' <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea" font-weight="bold">$*VARIABLE</tspan>; <tspan fill="#d19a66">1</tspan> }><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1285.200000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><<tspan fill="#00b1f7">statementlist</tspan>(<tspan fill="#d19a66">1</tspan>)><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1286.400000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>[<<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">cheat_heredoc</tspan>><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">}</tspan>']<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1287.600000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#00b1f7">ENDSTMT</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1288.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">missing_block</tspan>(<tspan fill="#dcaeea">$borg</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$has_mystery</tspan>)><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1290.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1291.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*CURPAD</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">pop_lexpad</tspan>() }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1292.400000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1293.600000em" xml:space="preserve"> | |
</text><text x="0" y="1294.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">unitstart</tspan> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1296.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">you_are_here</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1297.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">?</tspan>{ <tspan fill="#00b1f7">nqp::getlexdyn</tspan>('<tspan fill="#98c379">$?FILES</tspan>') <tspan fill="#c7bf54">~~</tspan> /<tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">.setting</tspan><tspan fill="#bda26f">$</tspan>/ }><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1298.400000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>{ <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>('<tspan fill="#98c379">X::Syntax::Reserved</tspan>'<tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="1299.600000em" xml:space="preserve">                <tspan fill="#98c379">reserved</tspan> <tspan fill="#c7bf54">=></tspan> '<tspan fill="#98c379">use of {YOU_ARE_HERE} outside of a setting</tspan>'<tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="1300.800000em" xml:space="preserve">                <tspan fill="#98c379">instead</tspan> <tspan fill="#c7bf54">=></tspan> '<tspan fill="#98c379"> (use whitespace if not a setting, or rename file with .setting extension?)</tspan>'); | |
</text><text x="0" y="1302.000000em" xml:space="preserve">            }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1303.200000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1304.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">newpad</tspan> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>><tspan fill="#56b6c2"> </tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">push_lexpad</tspan>(<tspan fill="#dcaeea">$/</tspan>) }<tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1305.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">newthunk</tspan> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>><tspan fill="#56b6c2"> </tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">push_thunk</tspan>(<tspan fill="#dcaeea">$/</tspan>) }<tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1306.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">finishpad</tspan> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1308.000000em" xml:space="preserve"> | |
</text><text x="0" y="1309.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">bom</tspan> {<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">xFEFF </tspan>} | |
</text><text x="0" y="1310.400000em" xml:space="preserve"> | |
</text><text x="0" y="1311.600000em" xml:space="preserve">    <tspan fill="#c678dd">proto</tspan> <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">terminator</tspan> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">...</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1312.800000em" xml:space="preserve"> | |
</text><text x="0" y="1314.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">terminator</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">;</tspan>> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>[<tspan fill="#56b6c2">;</tspan>]><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1315.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">terminator</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">)</tspan>> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>[<tspan fill="#56b6c2">)</tspan>]><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1316.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">terminator</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">]</tspan>> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>[<tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">]</tspan>]><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1317.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">terminator</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">}</tspan>> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>[<tspan fill="#56b6c2">}</tspan>]><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1318.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">terminator</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">ang</tspan>> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>[<tspan fill="#56b6c2">></tspan>]><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*IN_REGEX_ASSERTION</tspan> }><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1320.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">terminator</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">if</tspan>>     {<tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">if</tspan>'<tspan fill="#56b6c2">     </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1321.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">terminator</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">unless</tspan>> {<tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">unless</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1322.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">terminator</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">while</tspan>>  {<tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">while</tspan>'<tspan fill="#56b6c2">  </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1323.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">terminator</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">until</tspan>>  {<tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">until</tspan>'<tspan fill="#56b6c2">  </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1324.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">terminator</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">for</tspan>>    {<tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">for</tspan>'<tspan fill="#56b6c2">    </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1326.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">terminator</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">given</tspan>>  {<tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">given</tspan>'<tspan fill="#56b6c2">  </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1327.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">terminator</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">when</tspan>>   {<tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">when</tspan>'<tspan fill="#56b6c2">   </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1328.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">terminator</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">with</tspan>>   {<tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">with</tspan>'<tspan fill="#56b6c2">   </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1329.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">terminator</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">without</tspan>> {<tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">without</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1330.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">terminator</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">arrow</tspan>>  {<tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">--></tspan>'<tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1332.000000em" xml:space="preserve"> | |
</text><text x="0" y="1333.200000em" xml:space="preserve"> | |
</text><text x="0" y="1334.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">stdstopper</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1335.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1336.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#00b1f7">MARKED</tspan>('<tspan fill="#98c379">endstmt</tspan>')><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1338.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1339.200000em" xml:space="preserve"><tspan fill="#56b6c2">           </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#00b1f7">terminator</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1340.400000em" xml:space="preserve"><tspan fill="#56b6c2">           </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#bda26f">$</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1341.600000em" xml:space="preserve"><tspan fill="#56b6c2">           </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1342.800000em" xml:space="preserve"><tspan fill="#56b6c2">       </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1344.000000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1345.200000em" xml:space="preserve"> | |
</text><text x="0" y="1346.400000em" xml:space="preserve">    <tspan fill="#8a93a5" font-style="italic">## Statement control</tspan> | |
</text><text x="0" y="1347.600000em" xml:space="preserve"> | |
</text><text x="0" y="1348.800000em" xml:space="preserve">    <tspan fill="#c678dd">proto</tspan> <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_control</tspan> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">...</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1350.000000em" xml:space="preserve"> | |
</text><text x="0" y="1351.200000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_control</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">if</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1352.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#dcaeea">$<sym></tspan><tspan fill="#c7bf54">=</tspan>[<tspan fill="#56b6c2">if</tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2">with</tspan>]<<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan>{}<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1353.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">xblock</tspan>(<tspan fill="#c7bf54">~</tspan><tspan fill="#dcaeea">$<sym></tspan><tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">]</tspan> <tspan fill="#c7bf54">~~</tspan> /<tspan fill="#56b6c2">with</tspan>/ <tspan fill="#c7bf54">??</tspan> <tspan fill="#dcaeea">$PBLOCK_REQUIRED_TOPIC</tspan> <tspan fill="#c7bf54">!!</tspan> <tspan fill="#dcaeea">$PBLOCK_NO_TOPIC</tspan>)><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1354.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1356.000000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1357.200000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">else</tspan>'<tspan fill="#d26464" font-weight="bold">\h</tspan><tspan fill="#c7bf54">*</tspan>'<tspan fill="#98c379">if</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>: '<tspan fill="#98c379">X::Syntax::Malformed::Elsif</tspan>'><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1358.400000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">elif</tspan>'<tspan fill="#56b6c2"> </tspan>{ <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>('<tspan fill="#98c379">X::Syntax::Malformed::Elsif</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#98c379">what</tspan> <tspan fill="#c7bf54">=></tspan> "<tspan fill="#63c381">elif</tspan>") }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1359.600000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea">$<sym></tspan><tspan fill="#c7bf54">=</tspan>'<tspan fill="#98c379">elsif</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">xblock</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1360.800000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea">$<sym></tspan><tspan fill="#c7bf54">=</tspan>'<tspan fill="#98c379">orwith</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">xblock</tspan>(<tspan fill="#dcaeea">$PBLOCK_REQUIRED_TOPIC</tspan>)><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1362.000000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1363.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1364.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>{}<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1365.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1366.800000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>'<tspan fill="#98c379">else</tspan>'<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1368.000000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><<tspan fill="#dcaeea">else</tspan><tspan fill="#c7bf54">=.</tspan><tspan fill="#00b1f7">pblock</tspan>(<tspan fill="#c7bf54">~</tspan><tspan fill="#dcaeea">$<sym></tspan><tspan fill="#c7bf54">[-</tspan><tspan fill="#d19a66">1</tspan><tspan fill="#c7bf54">]</tspan> <tspan fill="#c7bf54">~~</tspan> /<tspan fill="#56b6c2">with</tspan>/ <tspan fill="#c7bf54">??</tspan> <tspan fill="#dcaeea">$PBLOCK_REQUIRED_TOPIC</tspan> <tspan fill="#c7bf54">!!</tspan> <tspan fill="#dcaeea">$PBLOCK_NO_TOPIC</tspan>)><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1369.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1370.400000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1371.600000em" xml:space="preserve"> | |
</text><text x="0" y="1372.800000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_control</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">unless</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1374.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#dcaeea">$<sym></tspan><tspan fill="#c7bf54">=</tspan>'<tspan fill="#98c379">unless</tspan>'<<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1375.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">xblock</tspan>(<tspan fill="#dcaeea">$PBLOCK_NO_TOPIC</tspan>)><tspan fill="#56b6c2"> </tspan><tspan fill="#8a93a5" font-style="italic"># 0 means we're not parsing `without` | |
</tspan></text><text x="0" y="1376.400000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">!</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan>[<tspan fill="#56b6c2">els</tspan>[<tspan fill="#56b6c2">e</tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2">if</tspan>]<tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2">orwith</tspan>]<tspan fill="#c7bf54">»</tspan><tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1377.600000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea">$<wrong-keyword></tspan><tspan fill="#c7bf54">=</tspan>[<tspan fill="#56b6c2">els</tspan>[<tspan fill="#56b6c2">e</tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2">if</tspan>]<tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2">orwith</tspan>]<tspan fill="#c7bf54">»</tspan><tspan fill="#56b6c2"> </tspan>{}<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1378.800000em" xml:space="preserve"><tspan fill="#56b6c2">                </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>: '<tspan fill="#98c379">X::Syntax::UnlessElse</tspan>'<tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="1380.000000em" xml:space="preserve">                    <tspan fill="#98c379">keyword</tspan> <tspan fill="#c7bf54">=></tspan> <tspan fill="#c7bf54">~</tspan><tspan fill="#dcaeea">$<wrong-keyword></tspan><tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="1381.200000em" xml:space="preserve">                ><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1382.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1383.600000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1384.800000em" xml:space="preserve"> | |
</text><text x="0" y="1386.000000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_control</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">without</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1387.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#dcaeea">$<sym></tspan><tspan fill="#c7bf54">=</tspan>'<tspan fill="#98c379">without</tspan>'<<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1388.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">xblock</tspan>(<tspan fill="#dcaeea">$PBLOCK_REQUIRED_TOPIC</tspan>)><tspan fill="#56b6c2"> </tspan><tspan fill="#8a93a5" font-style="italic"># 1 means we're not parsing `unless` | |
</tspan></text><text x="0" y="1389.600000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">!</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan>[<tspan fill="#56b6c2">els</tspan>[<tspan fill="#56b6c2">e</tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2">if</tspan>]<tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2">orwith</tspan>]<tspan fill="#c7bf54">»</tspan><tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1390.800000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea">$<wrong-keyword></tspan><tspan fill="#c7bf54">=</tspan>[<tspan fill="#56b6c2">els</tspan>[<tspan fill="#56b6c2">e</tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2">if</tspan>]<tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2">orwith</tspan>]<tspan fill="#c7bf54">»</tspan><tspan fill="#56b6c2"> </tspan>{}<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1392.000000em" xml:space="preserve"><tspan fill="#56b6c2">                </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>: '<tspan fill="#98c379">X::Syntax::WithoutElse</tspan>'<tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="1393.200000em" xml:space="preserve">                    <tspan fill="#98c379">keyword</tspan> <tspan fill="#c7bf54">=></tspan> <tspan fill="#c7bf54">~</tspan><tspan fill="#dcaeea">$<wrong-keyword></tspan><tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="1394.400000em" xml:space="preserve">                ><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1395.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1396.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1398.000000em" xml:space="preserve"> | |
</text><text x="0" y="1399.200000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_control</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">while</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1400.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#dcaeea">$<sym></tspan><tspan fill="#c7bf54">=</tspan>[<tspan fill="#56b6c2">while</tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2">until</tspan>]<<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan>{}<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1401.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">xblock</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1402.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1404.000000em" xml:space="preserve"> | |
</text><text x="0" y="1405.200000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_control</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">repeat</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1406.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan>{}<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1407.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1408.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea">$<wu></tspan><tspan fill="#c7bf54">=</tspan>[<tspan fill="#56b6c2">while</tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2">until</tspan>]<<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">xblock</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1410.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">pblock</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1411.200000em" xml:space="preserve"><tspan fill="#56b6c2">          </tspan>[<tspan fill="#dcaeea">$<wu></tspan><tspan fill="#c7bf54">=</tspan>['<tspan fill="#98c379">while</tspan>'<tspan fill="#c7bf54">|</tspan>'<tspan fill="#98c379">until</tspan>']<<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">missing</tspan>('<tspan fill="#98c379">"while" or "until"</tspan>')>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1412.400000em" xml:space="preserve"><tspan fill="#56b6c2">          </tspan><<tspan fill="#00b1f7">EXPR</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1413.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1414.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1416.000000em" xml:space="preserve"> | |
</text><text x="0" y="1417.200000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_control</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">for</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1418.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan>{}<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1419.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">my</tspan>'<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">$</tspan>'<tspan fill="#d26464" font-weight="bold">\w</tspan><tspan fill="#c7bf54">+</tspan><tspan fill="#d26464" font-weight="bold">\s</tspan><tspan fill="#c7bf54">+</tspan>'<tspan fill="#98c379">(</tspan>'<tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1420.800000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>: '<tspan fill="#98c379">X::Syntax::P5</tspan>'><tspan fill="#56b6c2"> </tspan>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1422.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">(</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">EXPR</tspan>><tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">;</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">EXPR</tspan>><tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">;</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">EXPR</tspan>><tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">)</tspan>'<tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1423.200000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obs</tspan>('<tspan fill="#98c379">C-style "for (;;)" loop</tspan>'<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">"loop (;;)"</tspan>')><tspan fill="#56b6c2"> </tspan>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1424.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">xblock</tspan>(<tspan fill="#dcaeea">$PBLOCK_REQUIRED_TOPIC</tspan>)><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1425.600000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1426.800000em" xml:space="preserve"> | |
</text><text x="0" y="1428.000000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_control</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">whenever</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1429.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1430.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1431.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>{ | |
</text><text x="0" y="1432.800000em" xml:space="preserve">              <tspan fill="#00b1f7">nqp::getcomp</tspan>('<tspan fill="#98c379">Raku</tspan>')<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">language_version</tspan> <tspan fill="#b756ff" font-weight="bold">eq</tspan> '<tspan fill="#98c379">6.c</tspan>' | |
</text><text x="0" y="1434.000000em" xml:space="preserve">            <tspan fill="#c7bf54">||</tspan> <tspan fill="#dcaeea" font-weight="bold">$*WHENEVER_COUNT</tspan> <tspan fill="#c7bf54">>=</tspan> <tspan fill="#d19a66">0</tspan> | |
</text><text x="0" y="1435.200000em" xml:space="preserve">          }><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1436.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>('<tspan fill="#98c379">X::Comp::WheneverOutOfScope</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1437.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1438.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*WHENEVER_COUNT</tspan><tspan fill="#c7bf54">++</tspan> }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1440.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">xblock</tspan>(<tspan fill="#dcaeea">$PBLOCK_REQUIRED_TOPIC</tspan>)><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1441.200000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1442.400000em" xml:space="preserve"> | |
</text><text x="0" y="1443.600000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_control</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">foreach</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1444.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">end_keyword</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obs</tspan>("<tspan fill="#63c381">'foreach'</tspan>"<tspan fill="#c7bf54">,</tspan> "<tspan fill="#63c381">'for'</tspan>")><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1446.000000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1447.200000em" xml:space="preserve"> | |
</text><text x="0" y="1448.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_control</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">loop</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1449.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1450.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>:<tspan fill="#b3d23c">s</tspan>''<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1452.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1453.200000em" xml:space="preserve"><tspan fill="#56b6c2">          </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$exprs</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1454.400000em" xml:space="preserve"><tspan fill="#56b6c2">          </tspan>'<tspan fill="#98c379">(</tspan>'<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1455.600000em" xml:space="preserve"><tspan fill="#56b6c2">          </tspan>[<tspan fill="#56b6c2">     </tspan><<tspan fill="#dcaeea">e1</tspan><tspan fill="#c7bf54">=.</tspan><tspan fill="#00b1f7">EXPR</tspan>><tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> </tspan>{<tspan fill="#dcaeea">$exprs</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">1</tspan> <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">$<e1></tspan>}<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1456.800000em" xml:space="preserve"><tspan fill="#56b6c2">          </tspan>[<tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">;</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#dcaeea">e2</tspan><tspan fill="#c7bf54">=.</tspan><tspan fill="#00b1f7">EXPR</tspan>><tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> </tspan>{<tspan fill="#dcaeea">$exprs</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">2</tspan>}<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1458.000000em" xml:space="preserve"><tspan fill="#56b6c2">          </tspan>[<tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">;</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#dcaeea">e3</tspan><tspan fill="#c7bf54">=.</tspan><tspan fill="#00b1f7">EXPR</tspan>><tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> </tspan>{<tspan fill="#dcaeea">$exprs</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">3</tspan>}<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1459.200000em" xml:space="preserve"><tspan fill="#56b6c2">          </tspan>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> </tspan>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> </tspan>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#8a93a5" font-style="italic"># succeed anyway, this will leave us with a nice cursor | |
</tspan></text><text x="0" y="1460.400000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">          </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1461.600000em" xml:space="preserve"><tspan fill="#56b6c2">          </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>{ <tspan fill="#dcaeea">$exprs</tspan> <tspan fill="#c7bf54">==</tspan> <tspan fill="#d19a66">3</tspan> }><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">)</tspan>'<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1462.800000em" xml:space="preserve"><tspan fill="#56b6c2">          </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">)</tspan>'><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1464.000000em" xml:space="preserve"><tspan fill="#56b6c2">             </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1465.200000em" xml:space="preserve"><tspan fill="#56b6c2">             </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>{ <tspan fill="#dcaeea">$exprs</tspan> <tspan fill="#c7bf54">==</tspan> <tspan fill="#d19a66">0</tspan> }><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1466.400000em" xml:space="preserve"><tspan fill="#56b6c2">                </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">malformed</tspan>("<tspan fill="#63c381">loop spec (expected 3 semicolon-separated expressions)</tspan>")><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1467.600000em" xml:space="preserve"><tspan fill="#56b6c2">             </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">malformed</tspan>("<tspan fill="#63c381">loop spec (expected 3 semicolon-separated expressions but got </tspan>{<tspan fill="#dcaeea">$exprs</tspan>}<tspan fill="#63c381">)</tspan>")><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1468.800000em" xml:space="preserve"><tspan fill="#56b6c2">             </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1470.000000em" xml:space="preserve"><tspan fill="#56b6c2">          </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> ‘;’</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1471.200000em" xml:space="preserve"><tspan fill="#56b6c2">             </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">malformed</tspan>('<tspan fill="#98c379">loop spec (expected 3 semicolon-separated expressions but got more)</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1472.400000em" xml:space="preserve"><tspan fill="#56b6c2">          </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">malformed</tspan>('<tspan fill="#98c379">loop spec</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1473.600000em" xml:space="preserve"><tspan fill="#56b6c2">          </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1474.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1476.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">block</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1477.200000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1478.400000em" xml:space="preserve"> | |
</text><text x="0" y="1479.600000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_control</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">need</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1480.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1482.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1483.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">version</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">sorry</tspan>('<tspan fill="#98c379">In case of using pragma, use "use" instead (e.g., "use v6;", "use v6.c;").</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1484.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">module_name</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1485.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#c7bf54">+</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea">%</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">,</tspan>'<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1486.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>{ | |
</text><text x="0" y="1488.000000em" xml:space="preserve">            <tspan fill="#c678dd">for</tspan> <tspan fill="#dcaeea">$<module_name></tspan> { | |
</text><text x="0" y="1489.200000em" xml:space="preserve">                <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$lnd</tspan>  <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">dissect_longname</tspan>(<tspan fill="#dcaeea">$_</tspan><<tspan fill="#98c379">longname</tspan>>); | |
</text><text x="0" y="1490.400000em" xml:space="preserve">                <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$name</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$lnd</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">name</tspan>; | |
</text><text x="0" y="1491.600000em" xml:space="preserve">                <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">%cp</tspan>   <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$lnd</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">colonpairs_hash</tspan>('<tspan fill="#98c379">need</tspan>'); | |
</text><text x="0" y="1492.800000em" xml:space="preserve">                <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">load_module</tspan>(<tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$name</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">%cp</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">cur_lexpad</tspan>); | |
</text><text x="0" y="1494.000000em" xml:space="preserve">            } | |
</text><text x="0" y="1495.200000em" xml:space="preserve">        }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1496.400000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1497.600000em" xml:space="preserve"> | |
</text><text x="0" y="1498.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_control</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">import</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1500.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*IN_DECL</tspan> <tspan fill="#c7bf54">:=</tspan> '<tspan fill="#98c379">import</tspan>';<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1501.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#b756ff" font-weight="bold">ws</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1502.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">module_name</tspan>><tspan fill="#56b6c2"> </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">spacey</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">arglist</tspan>><tspan fill="#56b6c2"> </tspan>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#b756ff" font-weight="bold">ws</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1503.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*HAS_SELF</tspan> <tspan fill="#c7bf54">:=</tspan> '';<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1504.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>{ | |
</text><text x="0" y="1506.000000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$longname</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">dissect_longname</tspan>(<tspan fill="#dcaeea">$<module_name></tspan><<tspan fill="#98c379">longname</tspan>>); | |
</text><text x="0" y="1507.200000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$module</tspan>; | |
</text><text x="0" y="1508.400000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$found</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>; | |
</text><text x="0" y="1509.600000em" xml:space="preserve">            <tspan fill="#c678dd">try</tspan> { | |
</text><text x="0" y="1510.800000em" xml:space="preserve">                <tspan fill="#dcaeea">$module</tspan> <tspan fill="#76a9f9">:</tspan><tspan fill="#c7bf54">=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">find_symbol</tspan>(<tspan fill="#dcaeea">$longname</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">components</tspan>()); | |
</text><text x="0" y="1512.000000em" xml:space="preserve">                <tspan fill="#dcaeea">$found</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">1</tspan>; | |
</text><text x="0" y="1513.200000em" xml:space="preserve">            } | |
</text><text x="0" y="1514.400000em" xml:space="preserve">            <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">$found</tspan> { | |
</text><text x="0" y="1515.600000em" xml:space="preserve">                <tspan fill="#8a93a5" font-style="italic"># todo: fix arglist</tspan> | |
</text><text x="0" y="1516.800000em" xml:space="preserve">                <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">do_import</tspan>(<tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">find_symbol</tspan>(<<tspan fill="#98c379">CompUnit Handle</tspan>>)<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">from-unit</tspan>(<tspan fill="#dcaeea">$module</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">WHO</tspan>)<tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$longname</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">name</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">arglist</tspan>(<tspan fill="#dcaeea">$/</tspan>)); | |
</text><text x="0" y="1518.000000em" xml:space="preserve">            } | |
</text><text x="0" y="1519.200000em" xml:space="preserve">            <tspan fill="#c678dd">else</tspan> { | |
</text><text x="0" y="1520.400000em" xml:space="preserve">                <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">panic</tspan>("<tspan fill="#63c381">Could not find module </tspan>" <tspan fill="#c7bf54">~</tspan> <tspan fill="#c7bf54">~</tspan><tspan fill="#dcaeea">$<module_name></tspan> <tspan fill="#c7bf54">~</tspan> | |
</text><text x="0" y="1521.600000em" xml:space="preserve">                    "<tspan fill="#63c381"> to import symbols from</tspan>"); | |
</text><text x="0" y="1522.800000em" xml:space="preserve">            } | |
</text><text x="0" y="1524.000000em" xml:space="preserve">        }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1525.200000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1526.400000em" xml:space="preserve"> | |
</text><text x="0" y="1527.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_control</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">no</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1528.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*IN_DECL</tspan> <tspan fill="#c7bf54">:=</tspan> '<tspan fill="#98c379">no</tspan>';<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1530.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$longname</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1531.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#b756ff" font-weight="bold">ws</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1532.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1533.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">module_name</tspan>><tspan fill="#56b6c2"> </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">spacey</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">arglist</tspan>><tspan fill="#56b6c2"> </tspan>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">explain_mystery</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">cry_sorrows</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1534.800000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">do_pragma_or_load_module</tspan>(<tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">,</tspan><tspan fill="#d19a66">0</tspan>) }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1536.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1537.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#b756ff" font-weight="bold">ws</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1538.400000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1539.600000em" xml:space="preserve"> | |
</text><text x="0" y="1540.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_control</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">use</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1542.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$longname</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1543.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*IN_DECL</tspan> <tspan fill="#c7bf54">:=</tspan> '<tspan fill="#98c379">use</tspan>';<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1544.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*HAS_SELF</tspan> <tspan fill="#c7bf54">:=</tspan> '';<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1545.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*SCOPE</tspan>   <tspan fill="#c7bf54">:=</tspan> '<tspan fill="#98c379">use</tspan>';<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1546.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$OLD_MAIN</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c7bf54">~</tspan><tspan fill="#dcaeea" font-weight="bold">$*MAIN</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1548.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">%*MYSTERY</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1549.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#dcaeea">$<doc></tspan><tspan fill="#c7bf54">=</tspan>[<tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">DOC</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\h</tspan><tspan fill="#c7bf54">+</tspan><tspan fill="#56b6c2"> </tspan>]<tspan fill="#c7bf54">**</tspan><tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">..</tspan><tspan fill="#d19a66">1</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1550.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#b756ff" font-weight="bold">ws</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1551.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1552.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">version</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1554.000000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>{ <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan><tspan fill="#c7bf54">:</tspan> '<tspan fill="#98c379">X::Language::TooLate</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#98c379">version</tspan> <tspan fill="#c7bf54">=></tspan> <tspan fill="#c7bf54">~</tspan><tspan fill="#dcaeea">$<version></tspan> }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1555.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">module_name</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1556.400000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1557.600000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">spacey</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">arglist</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">cheat_heredoc</tspan>><tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>{ <tspan fill="#dcaeea">$<arglist></tspan><<tspan fill="#98c379">EXPR</tspan>> }><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">explain_mystery</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">cry_sorrows</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1558.800000em" xml:space="preserve"><tspan fill="#56b6c2">                </tspan>{ | |
</text><text x="0" y="1560.000000em" xml:space="preserve">                    <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$oldmain</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">%*LANG</tspan><<tspan fill="#98c379">MAIN</tspan>>; | |
</text><text x="0" y="1561.200000em" xml:space="preserve">                    <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">do_pragma_or_load_module</tspan>(<tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">,</tspan><tspan fill="#d19a66">1</tspan>); | |
</text><text x="0" y="1562.400000em" xml:space="preserve">                    <tspan fill="#dcaeea">$¢</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LANG</tspan>; | |
</text><text x="0" y="1563.600000em" xml:space="preserve">                    <tspan fill="#c678dd">if</tspan> <tspan fill="#00b1f7">nqp::istype</tspan>(<tspan fill="#dcaeea">$oldmain</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea" font-weight="bold">%*LANG</tspan><<tspan fill="#98c379">MAIN</tspan>><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">WHAT</tspan>) { | |
</text><text x="0" y="1564.800000em" xml:space="preserve">                        <tspan fill="#dcaeea" font-weight="bold">%*LANG</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">shallow_copy</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*LANG</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">slangs</tspan>); | |
</text><text x="0" y="1566.000000em" xml:space="preserve">                    } | |
</text><text x="0" y="1567.200000em" xml:space="preserve">                    <tspan fill="#c678dd">else</tspan> { | |
</text><text x="0" y="1568.400000em" xml:space="preserve">                        <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">check_LANG_oopsies</tspan>('<tspan fill="#98c379">use</tspan>'); | |
</text><text x="0" y="1569.600000em" xml:space="preserve">                    } | |
</text><text x="0" y="1570.800000em" xml:space="preserve">                }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1572.000000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan>{ | |
</text><text x="0" y="1573.200000em" xml:space="preserve">                    <tspan fill="#c678dd">unless</tspan> <tspan fill="#c7bf54">~</tspan><tspan fill="#dcaeea">$<doc></tspan> <tspan fill="#c7bf54">&&</tspan> <tspan fill="#c7bf54">!</tspan><tspan fill="#dcaeea" font-weight="bold">%*COMPILING</tspan><<tspan fill="#98c379">%?OPTIONS</tspan>><<tspan fill="#98c379">doc</tspan>> { | |
</text><text x="0" y="1574.400000em" xml:space="preserve">                        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$oldmain</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">%*LANG</tspan><<tspan fill="#98c379">MAIN</tspan>>; | |
</text><text x="0" y="1575.600000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic">#                        CATCH {</tspan> | |
</text><text x="0" y="1576.800000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic">#                            nqp::say("Died doing '" ~ $/ ~ "' with:");</tspan> | |
</text><text x="0" y="1578.000000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic">#                            nqp::rethrow($_);</tspan> | |
</text><text x="0" y="1579.200000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic">#                        }</tspan> | |
</text><text x="0" y="1580.400000em" xml:space="preserve">                        <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">do_pragma_or_load_module</tspan>(<tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">,</tspan><tspan fill="#d19a66">1</tspan>); | |
</text><text x="0" y="1581.600000em" xml:space="preserve">                        <tspan fill="#dcaeea">$¢</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LANG</tspan>; | |
</text><text x="0" y="1582.800000em" xml:space="preserve">                        <tspan fill="#c678dd">if</tspan> <tspan fill="#00b1f7">nqp::istype</tspan>(<tspan fill="#dcaeea">$oldmain</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea" font-weight="bold">%*LANG</tspan><<tspan fill="#98c379">MAIN</tspan>><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">WHAT</tspan>) { | |
</text><text x="0" y="1584.000000em" xml:space="preserve">                            <tspan fill="#dcaeea" font-weight="bold">%*LANG</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">shallow_copy</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*LANG</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">slangs</tspan>); | |
</text><text x="0" y="1585.200000em" xml:space="preserve">                        } | |
</text><text x="0" y="1586.400000em" xml:space="preserve">                        <tspan fill="#c678dd">else</tspan> { | |
</text><text x="0" y="1587.600000em" xml:space="preserve">                            <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">check_LANG_oopsies</tspan>('<tspan fill="#98c379">use</tspan>'); | |
</text><text x="0" y="1588.800000em" xml:space="preserve">                        } | |
</text><text x="0" y="1590.000000em" xml:space="preserve">                    } | |
</text><text x="0" y="1591.200000em" xml:space="preserve">                }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1592.400000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1593.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1594.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*MAIN</tspan> <tspan fill="#b756ff" font-weight="bold">ne</tspan> <tspan fill="#dcaeea">$OLD_MAIN</tspan> }><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1596.000000em" xml:space="preserve"><tspan fill="#56b6c2">          </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">eat_terminator</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1597.200000em" xml:space="preserve"><tspan fill="#56b6c2">          </tspan><<tspan fill="#dcaeea">statementlist</tspan><tspan fill="#c7bf54">=.</tspan><tspan fill="#00b1f7">FOREIGN_LANG</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*MAIN</tspan><tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">statementlist</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#d19a66">1</tspan>)><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1598.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>><tspan fill="#56b6c2"> </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1599.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#b756ff" font-weight="bold">ws</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1600.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1602.000000em" xml:space="preserve"> | |
</text><text x="0" y="1603.200000em" xml:space="preserve">    <tspan fill="#8a93a5" font-style="italic"># This is like HLL::Grammar.LANG but it allows to call a token of a Raku level grammar.</tspan> | |
</text><text x="0" y="1604.400000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">FOREIGN_LANG</tspan>(<tspan fill="#dcaeea">$langname</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$regex</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">*</tspan><tspan fill="#dcaeea">@args</tspan>) { | |
</text><text x="0" y="1605.600000em" xml:space="preserve">        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$grammar</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">slang_grammar</tspan>(<tspan fill="#dcaeea">$langname</tspan>); | |
</text><text x="0" y="1606.800000em" xml:space="preserve">        <tspan fill="#c678dd">if</tspan> <tspan fill="#00b1f7">nqp::istype</tspan>(<tspan fill="#dcaeea">$grammar</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c1abea">NQPMatch</tspan>) { | |
</text><text x="0" y="1608.000000em" xml:space="preserve">            <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">LANG</tspan>(<tspan fill="#dcaeea">$langname</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$regex</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">@args</tspan>); | |
</text><text x="0" y="1609.200000em" xml:space="preserve">        } | |
</text><text x="0" y="1610.400000em" xml:space="preserve">        <tspan fill="#c678dd">else</tspan> { | |
</text><text x="0" y="1611.600000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$Str</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">find_single_symbol</tspan>('<tspan fill="#98c379">Str</tspan>'); | |
</text><text x="0" y="1612.800000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$actions</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">slang_actions</tspan>(<tspan fill="#dcaeea">$langname</tspan>); | |
</text><text x="0" y="1614.000000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$lang_cursor</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$grammar</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!cursor_init</tspan>'(<tspan fill="#dcaeea">$Str</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">new</tspan>( :<tspan fill="#98c379">value</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">orig</tspan>()))<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">p</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">pos</tspan>())); | |
</text><text x="0" y="1615.200000em" xml:space="preserve">            <tspan fill="#dcaeea">$lang_cursor</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">clone_braid_from</tspan>(<tspan fill="#ef8383">self</tspan>); | |
</text><text x="0" y="1616.400000em" xml:space="preserve">            <tspan fill="#dcaeea">$lang_cursor</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">set_actions</tspan>(<tspan fill="#dcaeea">$actions</tspan>); | |
</text><text x="0" y="1617.600000em" xml:space="preserve">            <tspan fill="#c678dd">if</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">HOW</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">traced</tspan>(<tspan fill="#ef8383">self</tspan>) { | |
</text><text x="0" y="1618.800000em" xml:space="preserve">                <tspan fill="#dcaeea">$lang_cursor</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">HOW</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">trace-on</tspan>(<tspan fill="#dcaeea">$lang_cursor</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">HOW</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">trace_depth</tspan>(<tspan fill="#ef8383">self</tspan>)); | |
</text><text x="0" y="1620.000000em" xml:space="preserve">            } | |
</text><text x="0" y="1621.200000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$ret</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$lang_cursor</tspan><tspan fill="#c7bf54">.</tspan>"<tspan fill="#dcaeea">$regex</tspan>"(<tspan fill="#c7bf54">|</tspan><tspan fill="#dcaeea">@args</tspan>); | |
</text><text x="0" y="1622.400000em" xml:space="preserve"> | |
</text><text x="0" y="1623.600000em" xml:space="preserve">            <tspan fill="#8a93a5" font-style="italic"># Build up something NQP-levelish we can return.</tspan> | |
</text><text x="0" y="1624.800000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$new</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c1abea">NQPMatch</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!cursor_init</tspan>'(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">orig</tspan>()<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">p</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">pos</tspan>())<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">shared</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!shared</tspan>'())); | |
</text><text x="0" y="1626.000000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$p6cursor</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">find_single_symbol</tspan>('<tspan fill="#98c379">Match</tspan>'); | |
</text><text x="0" y="1627.200000em" xml:space="preserve">            <tspan fill="#00b1f7">nqp::bindattr_i</tspan>(<tspan fill="#dcaeea">$new</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c1abea">NQPMatch</tspan><tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">$!from</tspan>'<tspan fill="#c7bf54">,</tspan>  <tspan fill="#00b1f7">nqp::getattr_i</tspan>(<tspan fill="#dcaeea">$ret</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$p6cursor</tspan><tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">$!from</tspan>')); | |
</text><text x="0" y="1628.400000em" xml:space="preserve">            <tspan fill="#00b1f7">nqp::bindattr_i</tspan>(<tspan fill="#dcaeea">$new</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c1abea">NQPMatch</tspan><tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">$!pos</tspan>'<tspan fill="#c7bf54">,</tspan>   <tspan fill="#00b1f7">nqp::getattr_i</tspan>(<tspan fill="#dcaeea">$ret</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$p6cursor</tspan><tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">$!pos</tspan>')); | |
</text><text x="0" y="1629.600000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#ef8383">str</tspan> <tspan fill="#dcaeea">$p6c_name</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::getattr_s</tspan>(<tspan fill="#dcaeea">$ret</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$p6cursor</tspan><tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">$!name</tspan>'); | |
</text><text x="0" y="1630.800000em" xml:space="preserve">            <tspan fill="#c678dd">if</tspan> <tspan fill="#c7bf54">!</tspan><tspan fill="#00b1f7">nqp::isnull_s</tspan>(<tspan fill="#dcaeea">$p6c_name</tspan>) { | |
</text><text x="0" y="1632.000000em" xml:space="preserve">                <tspan fill="#00b1f7">nqp::bindattr</tspan>(<tspan fill="#dcaeea">$new</tspan><tspan fill="#c7bf54">,</tspan>   <tspan fill="#c1abea">NQPMatch</tspan><tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">$!name</tspan>'<tspan fill="#c7bf54">,</tspan>  <tspan fill="#dcaeea">$p6c_name</tspan>); | |
</text><text x="0" y="1633.200000em" xml:space="preserve">            } | |
</text><text x="0" y="1634.400000em" xml:space="preserve">            <tspan fill="#00b1f7">nqp::bindattr</tspan>(<tspan fill="#dcaeea">$new</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c1abea">NQPMatch</tspan><tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">$!made</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#00b1f7">nqp::getattr</tspan>(<tspan fill="#dcaeea">$ret</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$p6cursor</tspan><tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">$!made</tspan>')); | |
</text><text x="0" y="1635.600000em" xml:space="preserve">            <tspan fill="#dcaeea">$new</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">MATCH</tspan>; | |
</text><text x="0" y="1636.800000em" xml:space="preserve">            <tspan fill="#dcaeea">$new</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">set_braid_from</tspan>(<tspan fill="#ef8383">self</tspan>) | |
</text><text x="0" y="1638.000000em" xml:space="preserve">        } | |
</text><text x="0" y="1639.200000em" xml:space="preserve">    } | |
</text><text x="0" y="1640.400000em" xml:space="preserve"> | |
</text><text x="0" y="1641.600000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_control</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">require</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1642.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1644.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1645.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">module_name</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1646.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#dcaeea">file</tspan><tspan fill="#c7bf54">=.</tspan><tspan fill="#00b1f7">variable</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1647.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">!</tspan><tspan fill="#00b1f7">sigil</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#dcaeea">file</tspan><tspan fill="#c7bf54">=.</tspan><tspan fill="#00b1f7">term</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1648.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1650.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">EXPR</tspan>><tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1651.200000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1652.400000em" xml:space="preserve"> | |
</text><text x="0" y="1653.600000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_control</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">given</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1654.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">xblock</tspan>(<tspan fill="#dcaeea">$PBLOCK_REQUIRED_TOPIC</tspan>)><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1656.000000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1657.200000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_control</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">when</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1658.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">xblock</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1659.600000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1660.800000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_control</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">default</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1662.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">block</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1663.200000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1664.400000em" xml:space="preserve"> | |
</text><text x="0" y="1665.600000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_control</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">CATCH</tspan>> {<<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">block</tspan>(<tspan fill="#d19a66">1</tspan>)><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1666.800000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_control</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">CONTROL</tspan>> {<<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">block</tspan>(<tspan fill="#d19a66">1</tspan>)><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1668.000000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_control</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">QUIT</tspan>> {<<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">block</tspan>(<tspan fill="#d19a66">1</tspan>)><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1669.200000em" xml:space="preserve"> | |
</text><text x="0" y="1670.400000em" xml:space="preserve">    <tspan fill="#c678dd">proto</tspan> <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">...</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1671.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">BEGIN</tspan>>   {<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">%*MYSTERY</tspan>;<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">explain_mystery</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">cry_sorrows</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1672.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">COMPOSE</tspan>> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1674.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">TEMP</tspan>>    {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1675.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">CHECK</tspan>>   {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1676.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">INIT</tspan>>    {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1677.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">ENTER</tspan>>   {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1678.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">FIRST</tspan>>   {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1680.000000em" xml:space="preserve"> | |
</text><text x="0" y="1681.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">END</tspan>>   {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1682.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">LEAVE</tspan>> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1683.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">KEEP</tspan>>  {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1684.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">UNDO</tspan>>  {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1686.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">NEXT</tspan>>  {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1687.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">LAST</tspan>>  {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1688.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">PRE</tspan>>   {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1689.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">POST</tspan>>  {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1690.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">CLOSE</tspan>> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1692.000000em" xml:space="preserve"> | |
</text><text x="0" y="1693.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">race</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1694.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1695.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1696.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">for</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>>><tspan fill="#56b6c2"> </tspan><<tspan fill="#dcaeea">for</tspan><tspan fill="#c7bf54">=.</tspan><tspan fill="#00b1f7">statement_control</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1698.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1699.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1700.400000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1701.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">hyper</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1702.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1704.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1705.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">for</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>>><tspan fill="#56b6c2"> </tspan><<tspan fill="#dcaeea">for</tspan><tspan fill="#c7bf54">=.</tspan><tspan fill="#00b1f7">statement_control</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1706.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1707.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1708.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1710.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">lazy</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1711.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1712.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1713.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">for</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>>><tspan fill="#56b6c2"> </tspan><<tspan fill="#dcaeea">for</tspan><tspan fill="#c7bf54">=.</tspan><tspan fill="#00b1f7">statement_control</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1714.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1716.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1717.200000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1718.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">eager</tspan>>   {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1719.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">sink</tspan>>    {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1720.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">try</tspan>>     {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1722.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*FATAL</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">1</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1723.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">!!</tspan>{ <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">clone_braid_from</tspan>(<tspan fill="#ef8383">self</tspan>)<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">set_pragma</tspan>('<tspan fill="#98c379">fatal</tspan>'<tspan fill="#c7bf54">,</tspan><tspan fill="#d19a66">1</tspan>); }><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1724.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1725.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">set_braid_from</tspan>(<tspan fill="#ef8383">self</tspan>)><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1726.800000em" xml:space="preserve"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1728.000000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1729.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">quietly</tspan>> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1730.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">gather</tspan>>  {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1731.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">once</tspan>>    {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1732.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">start</tspan>>   {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1734.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">supply</tspan>>  {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1735.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*WHENEVER_COUNT</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1736.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1737.600000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1738.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">react</tspan>>   {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1740.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*WHENEVER_COUNT</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1741.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1742.400000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1743.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">do</tspan>>      {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1744.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">statement_prefix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">DOC</tspan>>     {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1746.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea">$<phase></tspan><tspan fill="#c7bf54">=</tspan>['<tspan fill="#98c379">BEGIN</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">CHECK</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">INIT</tspan>']<<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">end_keyword</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#b756ff" font-weight="bold">ws</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1747.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">blorst</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1748.400000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1749.600000em" xml:space="preserve"> | |
</text><text x="0" y="1750.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">blorst</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1752.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>[<tspan fill="#56b6c2">{</tspan>]><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">block</tspan>><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">!</tspan>[<tspan fill="#56b6c2">;</tspan>]><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">statement</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">cheat_heredoc</tspan>><tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">missing</tspan>: '<tspan fill="#98c379">block or statement</tspan>'><tspan fill="#56b6c2"> </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1753.200000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1754.400000em" xml:space="preserve"> | |
</text><text x="0" y="1755.600000em" xml:space="preserve">    <tspan fill="#8a93a5" font-style="italic">## Statement modifiers</tspan> | |
</text><text x="0" y="1756.800000em" xml:space="preserve"> | |
</text><text x="0" y="1758.000000em" xml:space="preserve">    <tspan fill="#c678dd">proto</tspan> <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_mod_cond</tspan> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">...</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1759.200000em" xml:space="preserve"> | |
</text><text x="0" y="1760.400000em" xml:space="preserve">    <tspan fill="#c678dd">method</tspan> <tspan fill="#00b1f7">nomodexpr</tspan>(<tspan fill="#dcaeea">$k</tspan>) { | |
</text><text x="0" y="1761.600000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!clear_highwater</tspan>'(); | |
</text><text x="0" y="1762.800000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>( '<tspan fill="#98c379">X::Syntax::Confused</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#98c379">reason</tspan> <tspan fill="#c7bf54">=></tspan> "<tspan fill="#63c381">Missing expression for '</tspan><tspan fill="#dcaeea">$k'</tspan><tspan fill="#63c381"> statement modifier</tspan>" ); | |
</text><text x="0" y="1764.000000em" xml:space="preserve">        <tspan fill="#ef8383">self</tspan>; | |
</text><text x="0" y="1765.200000em" xml:space="preserve">    } | |
</text><text x="0" y="1766.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">modifier_expr</tspan>(<tspan fill="#dcaeea">$k</tspan>) {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">EXPR</tspan>><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">nomodexpr</tspan>(<tspan fill="#dcaeea">$k</tspan>)><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1767.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">smexpr</tspan>(<tspan fill="#dcaeea">$k</tspan>)        {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">EXPR</tspan>><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">nomodexpr</tspan>(<tspan fill="#dcaeea">$k</tspan>)><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1768.800000em" xml:space="preserve"> | |
</text><text x="0" y="1770.000000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_mod_cond</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">if</tspan>>     {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">modifier_expr</tspan>('<tspan fill="#98c379">if</tspan>')><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1771.200000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_mod_cond</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">unless</tspan>> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">modifier_expr</tspan>('<tspan fill="#98c379">unless</tspan>')><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1772.400000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_mod_cond</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">when</tspan>>   {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">modifier_expr</tspan>('<tspan fill="#98c379">when</tspan>')><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1773.600000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_mod_cond</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">with</tspan>>   {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">modifier_expr</tspan>('<tspan fill="#98c379">with</tspan>')><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1774.800000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_mod_cond</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">without</tspan>>{<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">modifier_expr</tspan>('<tspan fill="#98c379">without</tspan>')><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1776.000000em" xml:space="preserve"> | |
</text><text x="0" y="1777.200000em" xml:space="preserve">    <tspan fill="#c678dd">proto</tspan> <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_mod_loop</tspan> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">...</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1778.400000em" xml:space="preserve"> | |
</text><text x="0" y="1779.600000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_mod_loop</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">while</tspan>> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">smexpr</tspan>('<tspan fill="#98c379">while</tspan>')><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1780.800000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_mod_loop</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">until</tspan>> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">smexpr</tspan>('<tspan fill="#98c379">until</tspan>')><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1782.000000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_mod_loop</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">for</tspan>>   {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">smexpr</tspan>('<tspan fill="#98c379">for</tspan>')><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1783.200000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">statement_mod_loop</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">given</tspan>> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">smexpr</tspan>('<tspan fill="#98c379">given</tspan>')><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1784.400000em" xml:space="preserve"> | |
</text><text x="0" y="1785.600000em" xml:space="preserve">    <tspan fill="#8a93a5" font-style="italic">## Terms</tspan> | |
</text><text x="0" y="1786.800000em" xml:space="preserve"> | |
</text><text x="0" y="1788.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">term</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">fatarrow</tspan>>           {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">fatarrow</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1789.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">term</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">colonpair</tspan>>          {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">colonpair</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1790.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">term</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">variable</tspan>>           {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">variable</tspan>><tspan fill="#56b6c2"> </tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*VAR</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$<variable></tspan> <tspan fill="#c678dd">unless</tspan> <tspan fill="#dcaeea" font-weight="bold">$*VAR</tspan>; }<tspan fill="#56b6c2"> </tspan>}  <tspan fill="#8a93a5" font-style="italic"># maybe desigilname already set it</tspan> | |
</text><text x="0" y="1791.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">term</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">package_declarator</tspan>> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">package_declarator</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1792.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">term</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">scope_declarator</tspan>>   {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">scope_declarator</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1794.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">term</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">routine_declarator</tspan>> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">routine_declarator</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1795.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">term</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">multi_declarator</tspan>>   {<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">multi</tspan>'<tspan fill="#c7bf54">|</tspan>'<tspan fill="#98c379">proto</tspan>'<tspan fill="#c7bf54">|</tspan>'<tspan fill="#98c379">only</tspan>'><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">multi_declarator</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1796.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">term</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">regex_declarator</tspan>>   {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">regex_declarator</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1797.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">term</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">circumfix</tspan>>          {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">circumfix</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1798.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">term</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">statement_prefix</tspan>>   {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">statement_prefix</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1800.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">term</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">**</tspan>>                 {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1801.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">term</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">*</tspan>>                  {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1802.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">term</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">lambda</tspan>>             {<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#00b1f7">lambda</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">pblock</tspan>><tspan fill="#56b6c2"> </tspan>{<tspan fill="#dcaeea" font-weight="bold">$*BORG</tspan><<tspan fill="#98c379">block</tspan>> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$<pblock></tspan> }<tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1803.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">term</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">type_declarator</tspan>>    {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">type_declarator</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1804.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">term</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">value</tspan>>              {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">value</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1806.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">term</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">unquote</tspan>>            {<tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">{{{</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*IN_QUASI</tspan> }><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">statementlist</tspan>><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">}}}</tspan>'<tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1807.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">term</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">!!</tspan>>                 {<tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">!!</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\s</tspan>><tspan fill="#56b6c2"> </tspan>}  <tspan fill="#8a93a5" font-style="italic"># actual error produced inside infix:<?? !!></tspan> | |
</text><text x="0" y="1808.400000em" xml:space="preserve"> | |
</text><text x="0" y="1809.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">term</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">::?IDENT</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1810.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#dcaeea">$<sym></tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">=</tspan><tspan fill="#56b6c2"> </tspan>[<tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">::?</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">identifier</tspan>><tspan fill="#56b6c2"> </tspan>]<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">»</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1812.000000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1813.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">term</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">p5end</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1814.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54"><<</tspan><tspan fill="#56b6c2"> __END__ </tspan><tspan fill="#c7bf54">>></tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1815.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obs</tspan>('<tspan fill="#98c379">__END__ as end of code</tspan>'<tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="1816.800000em" xml:space="preserve">          '<tspan fill="#98c379">the =finish pod marker and $=finish to read</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1818.000000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1819.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">term</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">p5data</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1820.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54"><<</tspan><tspan fill="#56b6c2"> __DATA__ </tspan><tspan fill="#c7bf54">>></tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1821.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obs</tspan>('<tspan fill="#98c379">__DATA__ as start of data</tspan>'<tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="1822.800000em" xml:space="preserve">          '<tspan fill="#98c379">the =finish pod marker and $=finish to read</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1824.000000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1825.200000em" xml:space="preserve"> | |
</text><text x="0" y="1826.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">infix</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">lambda</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1827.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">{</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">lambda</tspan>><tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">!</tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*IN_META</tspan> }><tspan fill="#56b6c2"> </tspan>{ | |
</text><text x="0" y="1828.800000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$needparens</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>; | |
</text><text x="0" y="1830.000000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$pos</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">from</tspan>; | |
</text><text x="0" y="1831.200000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$line</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c1abea">HLL::Compiler</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">lineof</tspan>(<tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">orig</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">from</tspan><tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">cache</tspan>(<tspan fill="#d19a66">1</tspan>)); | |
</text><text x="0" y="1832.400000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$lex</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">cur_lexpad</tspan>(); | |
</text><text x="0" y="1833.600000em" xml:space="preserve">            <tspan fill="#c678dd">for</tspan> '<tspan fill="#98c379">if</tspan>'<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">unless</tspan>'<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">while</tspan>'<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">until</tspan>'<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">for</tspan>'<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">given</tspan>'<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">when</tspan>'<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">loop</tspan>'<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">sub</tspan>'<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">method</tspan>'<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">with</tspan>'<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">without</tspan>'<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">supply</tspan>'<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">whenever</tspan>'<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">react</tspan>' { | |
</text><text x="0" y="1834.800000em" xml:space="preserve">                <tspan fill="#dcaeea">$needparens</tspan><tspan fill="#c7bf54">++</tspan> <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">$_</tspan> <tspan fill="#b756ff" font-weight="bold">eq</tspan> '<tspan fill="#98c379">loop</tspan>'; | |
</text><text x="0" y="1836.000000em" xml:space="preserve">                <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$m</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">%*MYSTERY</tspan>{<tspan fill="#dcaeea">$_</tspan> <tspan fill="#c7bf54">~</tspan> '<tspan fill="#98c379">-</tspan>' <tspan fill="#c7bf54">~</tspan> <tspan fill="#dcaeea">$lex</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">cuid</tspan>}; | |
</text><text x="0" y="1837.200000em" xml:space="preserve">                <tspan fill="#ef8383">next</tspan> <tspan fill="#c678dd">unless</tspan> <tspan fill="#dcaeea">$m</tspan>; | |
</text><text x="0" y="1838.400000em" xml:space="preserve">                <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$m_pos</tspan>  <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$m</tspan><<tspan fill="#98c379">pos</tspan>><tspan fill="#c7bf54">[</tspan><tspan fill="#00b1f7">nqp::elems</tspan>(<tspan fill="#dcaeea">$m</tspan><<tspan fill="#98c379">pos</tspan>>) <tspan fill="#c7bf54">-</tspan> <tspan fill="#d19a66">1</tspan><tspan fill="#c7bf54">]</tspan>; | |
</text><text x="0" y="1839.600000em" xml:space="preserve">                <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$m_line</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c1abea">HLL::Compiler</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">lineof</tspan>(<tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">orig</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$m_pos</tspan><tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">cache</tspan>(<tspan fill="#d19a66">1</tspan>)); | |
</text><text x="0" y="1840.800000em" xml:space="preserve">                <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">$line</tspan> <tspan fill="#c7bf54">-</tspan> <tspan fill="#dcaeea">$m_line</tspan> <tspan fill="#c7bf54"><</tspan> <tspan fill="#d19a66">5</tspan> { | |
</text><text x="0" y="1842.000000em" xml:space="preserve">                    <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">$m</tspan><<tspan fill="#98c379">ctx</tspan>> <tspan fill="#b756ff" font-weight="bold">eq</tspan> '<tspan fill="#98c379">(</tspan>' { | |
</text><text x="0" y="1843.200000em" xml:space="preserve">                        <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!clear_highwater</tspan>'(); | |
</text><text x="0" y="1844.400000em" xml:space="preserve">                        <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!cursor_pos</tspan>'(<tspan fill="#dcaeea">$m_pos</tspan>); | |
</text><text x="0" y="1845.600000em" xml:space="preserve">                        <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_sorry</tspan>('<tspan fill="#98c379">X::Syntax::KeywordAsFunction</tspan>'<tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="1846.800000em" xml:space="preserve">                                <tspan fill="#98c379">word</tspan> <tspan fill="#c7bf54">=></tspan> <tspan fill="#dcaeea">$_</tspan><tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="1848.000000em" xml:space="preserve">                                <tspan fill="#c7bf54">:</tspan><tspan fill="#dcaeea">$needparens</tspan><tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="1849.200000em" xml:space="preserve">                        ); | |
</text><text x="0" y="1850.400000em" xml:space="preserve">                        <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!cursor_pos</tspan>'(<tspan fill="#dcaeea">$pos</tspan>); | |
</text><text x="0" y="1851.600000em" xml:space="preserve">                        <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">panic</tspan>("<tspan fill="#63c381">Unexpected block in infix position (two terms in a row)</tspan>"); | |
</text><text x="0" y="1852.800000em" xml:space="preserve">                    } | |
</text><text x="0" y="1854.000000em" xml:space="preserve">                    <tspan fill="#c678dd">else</tspan> { | |
</text><text x="0" y="1855.200000em" xml:space="preserve">                        <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!clear_highwater</tspan>'(); | |
</text><text x="0" y="1856.400000em" xml:space="preserve">                        <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!cursor_pos</tspan>'(<tspan fill="#dcaeea">$m_pos</tspan>); | |
</text><text x="0" y="1857.600000em" xml:space="preserve">                        <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">sorry</tspan>("<tspan fill="#63c381">Word '</tspan><tspan fill="#dcaeea">$_'</tspan><tspan fill="#63c381"> interpreted as a listop; please use 'do </tspan><tspan fill="#dcaeea">$_'</tspan><tspan fill="#63c381"> to introduce the statement control word</tspan>"); | |
</text><text x="0" y="1858.800000em" xml:space="preserve">                        <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan>'<tspan fill="#98c379">!cursor_pos</tspan>'(<tspan fill="#dcaeea">$pos</tspan>); | |
</text><text x="0" y="1860.000000em" xml:space="preserve">                        <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">panic</tspan>("<tspan fill="#63c381">Unexpected block in infix position (two terms in a row)</tspan>"); | |
</text><text x="0" y="1861.200000em" xml:space="preserve">                    } | |
</text><text x="0" y="1862.400000em" xml:space="preserve">                } | |
</text><text x="0" y="1863.600000em" xml:space="preserve">            } | |
</text><text x="0" y="1864.800000em" xml:space="preserve">        }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1866.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1867.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">!</tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*IN_REDUCE</tspan> }><tspan fill="#56b6c2"> </tspan>{ | |
</text><text x="0" y="1868.400000em" xml:space="preserve">            <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">panic</tspan>("<tspan fill="#63c381">Unexpected block in infix position (missing statement control word before the expression?)</tspan>"); | |
</text><text x="0" y="1869.600000em" xml:space="preserve">        }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1870.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">!</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1872.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1873.200000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1874.400000em" xml:space="preserve"> | |
</text><text x="0" y="1875.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">term</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">undef</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1876.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">!</tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*LANG</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">pragma</tspan>('<tspan fill="#98c379">p5isms</tspan>') }><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1878.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">>></tspan><tspan fill="#56b6c2"> </tspan>{}<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1879.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\h</tspan><tspan fill="#c7bf54">*</tspan>'<tspan fill="#98c379">$/</tspan>'<tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1880.400000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obs</tspan>('<tspan fill="#98c379">$/ variable as input record separator</tspan>'<tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="1881.600000em" xml:space="preserve">                 "<tspan fill="#63c381">the filehandle's .slurp method</tspan>")><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1882.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1884.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan>[<tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">(</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\h</tspan><tspan fill="#c7bf54">*</tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">sigil</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">twigil</tspan>><tspan fill="#c7bf54">?</tspan><tspan fill="#d26464" font-weight="bold">\w</tspan><tspan fill="#56b6c2"> </tspan>]<tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1885.200000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obs</tspan>('<tspan fill="#98c379">undef as a verb</tspan>'<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">undefine() or assignment of Nil</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1886.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1887.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obs</tspan>('<tspan fill="#98c379">undef as a value</tspan>'<tspan fill="#c7bf54">,</tspan> "<tspan fill="#63c381">something more specific:</tspan><tspan fill="#d26464" font-weight="bold">\n\t</tspan><tspan fill="#63c381">an undefined type object such as Any or Int,</tspan><tspan fill="#d26464" font-weight="bold">\n\t</tspan><tspan fill="#63c381">:!defined as a matcher,</tspan><tspan fill="#d26464" font-weight="bold">\n\t</tspan><tspan fill="#63c381">Any:U as a type constraint,</tspan><tspan fill="#d26464" font-weight="bold">\n\t</tspan><tspan fill="#63c381">Nil as the absence of an expected value</tspan><tspan fill="#d26464" font-weight="bold">\n\t</tspan><tspan fill="#63c381">or fail() as a failure return</tspan><tspan fill="#d26464" font-weight="bold">\n\t</tspan><tspan fill="#63c381">   </tspan>")><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1888.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1890.000000em" xml:space="preserve"> | |
</text><text x="0" y="1891.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">term</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">new</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1892.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">!</tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*LANG</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">pragma</tspan>('<tspan fill="#98c379">c++isms</tspan>') }><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1893.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>'<tspan fill="#98c379">new</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\h</tspan><tspan fill="#c7bf54">+</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">longname</tspan>><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\h</tspan><tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">!</tspan>[<tspan fill="#56b6c2">:</tspan>]><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obs</tspan>("<tspan fill="#63c381">C++ constructor syntax</tspan>"<tspan fill="#c7bf54">,</tspan> "<tspan fill="#63c381">method call syntax</tspan>"<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">ism</tspan><<tspan fill="#98c379">c++isms</tspan>>)><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1894.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1896.000000em" xml:space="preserve"> | |
</text><text x="0" y="1897.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">fatarrow</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1898.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#dcaeea">key</tspan><tspan fill="#c7bf54">=.</tspan><tspan fill="#00b1f7">identifier</tspan>><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\h</tspan><tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">=></tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#b756ff" font-weight="bold">ws</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#dcaeea">val</tspan><tspan fill="#c7bf54">=.</tspan><tspan fill="#00b1f7">EXPR</tspan>('<tspan fill="#98c379">i<=</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1899.600000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1900.800000em" xml:space="preserve"> | |
</text><text x="0" y="1902.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">coloncircumfix</tspan>(<tspan fill="#dcaeea">$front</tspan>) {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1903.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#8a93a5" font-style="italic"># reset $*IN_DECL in case this colonpair is part of var we're | |
</tspan></text><text x="0" y="1904.400000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#8a93a5" font-style="italic"># declaring, since colonpair might have other vars. Don't make those | |
</tspan></text><text x="0" y="1905.600000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#8a93a5" font-style="italic"># think we're declaring them | |
</tspan></text><text x="0" y="1906.800000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*IN_DECL</tspan> <tspan fill="#c7bf54">:=</tspan> '';<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1908.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1909.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379"><></tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">worry</tspan>("<tspan fill="#63c381">Pair with <> really means an empty list, not null string; use :</tspan><tspan fill="#dcaeea">$front</tspan>" <tspan fill="#c7bf54">~</tspan> "<tspan fill="#63c381">('') to represent the null string,</tspan><tspan fill="#d26464" font-weight="bold">\n</tspan><tspan fill="#63c381">  or :</tspan><tspan fill="#dcaeea">$front</tspan>" <tspan fill="#c7bf54">~</tspan> "<tspan fill="#63c381">() to represent the empty list more accurately</tspan>")><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1910.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>{}<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">circumfix</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1911.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1912.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1914.000000em" xml:space="preserve"> | |
</text><text x="0" y="1915.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">colonpair</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1916.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*key</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1917.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*value</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1918.800000em" xml:space="preserve"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1920.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>'<tspan fill="#98c379">:</tspan>'<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1921.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>:<tspan fill="#b3d23c">dba</tspan>('<tspan fill="#98c379">colon pair</tspan>')<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1922.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1923.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">!</tspan>'<tspan fill="#56b6c2"> </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">identifier</tspan>><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">panic</tspan>: "<tspan fill="#63c381">Malformed False pair; expected identifier</tspan>"><tspan fill="#56b6c2"> </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1924.800000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>[<tspan fill="#56b6c2"> </tspan><[<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">[ </tspan><tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">( </tspan><tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">< </tspan><tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">{ </tspan>]><tspan fill="#56b6c2"> </tspan>{ | |
</text><text x="0" y="1926.000000em" xml:space="preserve">            <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>('<tspan fill="#98c379">X::Syntax::NegatedPair</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#98c379">key</tspan> <tspan fill="#c7bf54">=></tspan> <tspan fill="#c7bf54">~</tspan><tspan fill="#dcaeea">$<identifier></tspan>) }<tspan fill="#56b6c2"> </tspan>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1927.200000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*key</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$<identifier></tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">Str</tspan>; <tspan fill="#dcaeea" font-weight="bold">$*value</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>; }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1928.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea">$<num></tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">=</tspan><tspan fill="#56b6c2"> </tspan>[<tspan fill="#d26464" font-weight="bold">\d</tspan><tspan fill="#c7bf54">+</tspan>]<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">identifier</tspan>><tspan fill="#56b6c2"> </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan>[<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">[ </tspan><tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">( </tspan><tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">< </tspan><tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">{ </tspan>]>><tspan fill="#56b6c2"> </tspan>{}<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">sorry</tspan>("<tspan fill="#63c381">Extra argument not allowed; pair already has argument of </tspan>" <tspan fill="#c7bf54">~</tspan> <tspan fill="#dcaeea">$<num></tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">Str</tspan>)><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">circumfix</tspan>><tspan fill="#56b6c2"> </tspan>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1929.600000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><<tspan fill="#c7bf54">?</tspan>{ | |
</text><text x="0" y="1930.800000em" xml:space="preserve">                <tspan fill="#8a93a5" font-style="italic"># Here we go over each character in the numeral and check $ch.chr eq $ch.ord.chr</tspan> | |
</text><text x="0" y="1932.000000em" xml:space="preserve">                <tspan fill="#8a93a5" font-style="italic"># to fail any matches that have synthetics, such as 7\x[308]</tspan> | |
</text><text x="0" y="1933.200000em" xml:space="preserve">                <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$num</tspan>       <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c7bf54">~</tspan><tspan fill="#dcaeea">$<num></tspan>; | |
</text><text x="0" y="1934.400000em" xml:space="preserve">                <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$chars-num</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::chars</tspan>(<tspan fill="#dcaeea">$num</tspan>); | |
</text><text x="0" y="1935.600000em" xml:space="preserve">                <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$pos</tspan>       <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c7bf54">-</tspan><tspan fill="#d19a66">1</tspan>; | |
</text><text x="0" y="1936.800000em" xml:space="preserve">                <tspan fill="#00b1f7">nqp::while</tspan>( | |
</text><text x="0" y="1938.000000em" xml:space="preserve">                    <tspan fill="#00b1f7">nqp::islt_i</tspan>( (<tspan fill="#dcaeea">$pos</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::add_i</tspan>(<tspan fill="#dcaeea">$pos</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#d19a66">1</tspan>))<tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$chars-num</tspan> ) | |
</text><text x="0" y="1939.200000em" xml:space="preserve">                    <tspan fill="#c7bf54">&&</tspan> <tspan fill="#00b1f7">nqp::eqat</tspan>( | |
</text><text x="0" y="1940.400000em" xml:space="preserve">                        <tspan fill="#dcaeea">$num</tspan><tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="1941.600000em" xml:space="preserve">                        <tspan fill="#00b1f7">nqp::chr</tspan>( <tspan fill="#00b1f7">nqp::ord</tspan>(<tspan fill="#dcaeea">$num</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$pos</tspan>) )<tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="1942.800000em" xml:space="preserve">                        <tspan fill="#dcaeea">$pos</tspan><tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="1944.000000em" xml:space="preserve">                    )<tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="1945.200000em" xml:space="preserve">                    <tspan fill="#c1abea">nqp::null</tspan><tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="1946.400000em" xml:space="preserve">                ); | |
</text><text x="0" y="1947.600000em" xml:space="preserve">                <tspan fill="#00b1f7">nqp::iseq_i</tspan>(<tspan fill="#dcaeea">$chars-num</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$pos</tspan>); | |
</text><text x="0" y="1948.800000em" xml:space="preserve">            }><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1950.000000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*key</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$<identifier></tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">Str</tspan>; <tspan fill="#dcaeea" font-weight="bold">$*value</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::radix_I</tspan>(<tspan fill="#d19a66">10</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$<num></tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">find_single_symbol</tspan>('<tspan fill="#98c379">Int</tspan>'))<tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">]</tspan>; }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1951.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">identifier</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1952.400000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*key</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$<identifier></tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">Str</tspan>; }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1953.600000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1954.800000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">unsp</tspan>><tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> </tspan>:<tspan fill="#b3d23c">dba</tspan>('<tspan fill="#98c379">pair value</tspan>')<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">coloncircumfix</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*key</tspan>)><tspan fill="#56b6c2"> </tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*value</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$<coloncircumfix></tspan>; }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1956.000000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*value</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">1</tspan>; }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1957.200000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1958.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>:<tspan fill="#b3d23c">dba</tspan>('<tspan fill="#98c379">signature</tspan>')<tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">(</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">~</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">)</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">fakesignature</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1959.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">coloncircumfix</tspan>('')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1960.800000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*key</tspan> <tspan fill="#c7bf54">:=</tspan> ""; <tspan fill="#dcaeea" font-weight="bold">$*value</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$<coloncircumfix></tspan>; }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1962.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#dcaeea">var</tspan><tspan fill="#c7bf54">=.</tspan><tspan fill="#00b1f7">colonpair_variable</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1963.200000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*key</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$<var></tspan><<tspan fill="#98c379">desigilname</tspan>><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">Str</tspan>; <tspan fill="#dcaeea" font-weight="bold">$*value</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$<var></tspan>; <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">check_variable</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*value</tspan>); }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1964.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1965.600000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1966.800000em" xml:space="preserve"> | |
</text><text x="0" y="1968.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">colonpair_variable</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1969.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sigil</tspan>><tspan fill="#56b6c2"> </tspan>{}<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1970.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1971.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">twigil</tspan>><tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">desigilname</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1972.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea">$<capvar></tspan><tspan fill="#c7bf54">=</tspan>'<tspan fill="#98c379"><</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">desigilname</tspan>><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">></tspan>'<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1974.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1975.200000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1976.400000em" xml:space="preserve"> | |
</text><text x="0" y="1977.600000em" xml:space="preserve">    <tspan fill="#c678dd">proto</tspan> <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">...</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="1978.800000em" xml:space="preserve"> | |
</text><text x="0" y="1980.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">$!{ }</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1981.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">$!{</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#bda26f">.</tspan><tspan fill="#c7bf54">*?</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">}</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">%!</tspan>'<tspan fill="#56b6c2"> </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1982.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obsvar</tspan>('<tspan fill="#98c379">%!</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1983.600000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1984.800000em" xml:space="preserve"> | |
</text><text x="0" y="1986.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">$`</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1987.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2">  </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\s</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">,</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">terminator</tspan>><tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1988.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obsvar</tspan>('<tspan fill="#98c379">$`</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1989.600000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1990.800000em" xml:space="preserve"> | |
</text><text x="0" y="1992.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">$@</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1993.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><[<tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\s</tspan><tspan fill="#56b6c2"> ; , ) </tspan>]><tspan fill="#56b6c2"> </tspan><tspan fill="#bda26f">.</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1994.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obsvar</tspan>('<tspan fill="#98c379">$@</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1995.600000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="1996.800000em" xml:space="preserve"> | |
</text><text x="0" y="1998.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">$#</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="1999.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">identifier</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2000.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>{}<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2001.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obsvar</tspan>('<tspan fill="#98c379">$#</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">~</tspan><tspan fill="#dcaeea">$<identifier></tspan>)><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2002.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2004.000000em" xml:space="preserve"> | |
</text><text x="0" y="2005.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">$$</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2006.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\W</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2007.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obsvar</tspan>('<tspan fill="#98c379">$$</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2008.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2010.000000em" xml:space="preserve"> | |
</text><text x="0" y="2011.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">$&</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2012.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\s</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">,</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">terminator</tspan>><tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2013.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obsvar</tspan>('<tspan fill="#98c379">$&</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2014.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2016.000000em" xml:space="preserve"> | |
</text><text x="0" y="2017.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">@+</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2018.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\s</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">,</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">terminator</tspan>><tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2019.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obsvar</tspan>('<tspan fill="#98c379">@+</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2020.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2022.000000em" xml:space="preserve"> | |
</text><text x="0" y="2023.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">%+</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2024.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\s</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">,</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">terminator</tspan>><tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2025.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obsvar</tspan>('<tspan fill="#98c379">%+</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2026.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2028.000000em" xml:space="preserve"> | |
</text><text x="0" y="2029.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">$+[ ]</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2030.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>'<tspan fill="#98c379">$+[</tspan>'<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2031.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obsvar</tspan>('<tspan fill="#98c379">@+</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2032.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2034.000000em" xml:space="preserve"> | |
</text><text x="0" y="2035.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">@+[ ]</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2036.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>'<tspan fill="#98c379">@+[</tspan>'<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2037.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obsvar</tspan>('<tspan fill="#98c379">@+</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2038.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2040.000000em" xml:space="preserve"> | |
</text><text x="0" y="2041.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">@+{ }</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2042.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>'<tspan fill="#98c379">@+{</tspan>'<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2043.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obsvar</tspan>('<tspan fill="#98c379">%+</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2044.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2046.000000em" xml:space="preserve"> | |
</text><text x="0" y="2047.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">@-</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2048.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\s</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">,</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">terminator</tspan>><tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2049.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obsvar</tspan>('<tspan fill="#98c379">@-</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2050.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2052.000000em" xml:space="preserve"> | |
</text><text x="0" y="2053.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">%-</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2054.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\s</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">,</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">terminator</tspan>><tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2055.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obsvar</tspan>('<tspan fill="#98c379">%-</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2056.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2058.000000em" xml:space="preserve"> | |
</text><text x="0" y="2059.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">$-[ ]</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2060.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>'<tspan fill="#98c379">$-[</tspan>'<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2061.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obsvar</tspan>('<tspan fill="#98c379">@-</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2062.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2064.000000em" xml:space="preserve"> | |
</text><text x="0" y="2065.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">@-[ ]</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2066.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>'<tspan fill="#98c379">@-[</tspan>'<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2067.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obsvar</tspan>('<tspan fill="#98c379">@-</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2068.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2070.000000em" xml:space="preserve"> | |
</text><text x="0" y="2071.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">%-{ }</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2072.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>'<tspan fill="#98c379">@-{</tspan>'<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2073.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obsvar</tspan>('<tspan fill="#98c379">%-</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2074.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2076.000000em" xml:space="preserve"> | |
</text><text x="0" y="2077.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">$/</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2078.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\h</tspan><tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">=</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\h</tspan><tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan>[<tspan fill="#56b6c2"> ' " </tspan>]><tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2079.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obsvar</tspan>('<tspan fill="#98c379">$/</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2080.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2082.000000em" xml:space="preserve"> | |
</text><text x="0" y="2083.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">$\\</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2084.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>'<tspan fill="#98c379">$\\</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\s</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">,</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">=</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">terminator</tspan>><tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2085.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obsvar</tspan>('<tspan fill="#98c379">$\\</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2086.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2088.000000em" xml:space="preserve"> | |
</text><text x="0" y="2089.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">$|</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2090.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\h</tspan><tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">=</tspan>'><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2091.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obsvar</tspan>('<tspan fill="#98c379">$|</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2092.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2094.000000em" xml:space="preserve"> | |
</text><text x="0" y="2095.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">$;</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2096.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\h</tspan><tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">=</tspan>'><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2097.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obsvar</tspan>('<tspan fill="#98c379">$;</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2098.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2100.000000em" xml:space="preserve"> | |
</text><text x="0" y="2101.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">$'</tspan>> {<tspan fill="#56b6c2"> </tspan><tspan fill="#8a93a5" font-style="italic">#' | |
</tspan></text><text x="0" y="2102.400000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\s</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">,</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">terminator</tspan>><tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2103.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obsvar</tspan>('<tspan fill="#98c379">$</tspan>' <tspan fill="#c7bf54">~</tspan> "<tspan fill="#63c381">'</tspan>")><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2104.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2106.000000em" xml:space="preserve"> | |
</text><text x="0" y="2107.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">$"</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2108.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\h</tspan><tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">=</tspan>'><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2109.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obsvar</tspan>('<tspan fill="#98c379">$"</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2110.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2112.000000em" xml:space="preserve"> | |
</text><text x="0" y="2113.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">$,</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2114.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\h</tspan><tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">=</tspan>'><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2115.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obsvar</tspan>('<tspan fill="#98c379">$,</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2116.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2118.000000em" xml:space="preserve"> | |
</text><text x="0" y="2119.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">$.</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2120.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan>{}<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">!</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\w</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">(</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">:</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">^</tspan>'<tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2121.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obsvar</tspan>('<tspan fill="#98c379">$.</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2122.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2124.000000em" xml:space="preserve"> | |
</text><text x="0" y="2125.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">$?</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2126.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan>{}<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">!</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\w</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">(</tspan>'><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2127.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obsvar</tspan>('<tspan fill="#98c379">$?</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2128.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2130.000000em" xml:space="preserve"> | |
</text><text x="0" y="2131.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">$]</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2132.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan>{}<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">!</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\w</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">(</tspan>'><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2133.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obsvar</tspan>('<tspan fill="#98c379">$]</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2134.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2136.000000em" xml:space="preserve"> | |
</text><text x="0" y="2137.200000em" xml:space="preserve">    <tspan fill="#c678dd">regex</tspan> <tspan fill="#00b1f7">special_variable</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">${ }</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2138.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sigil</tspan>><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">{</tspan>'<tspan fill="#56b6c2"> </tspan>{}<tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea">$<text></tspan><tspan fill="#c7bf54">=</tspan>[<tspan fill="#bda26f">.</tspan><tspan fill="#c7bf54">*?</tspan>]<tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">}</tspan>'<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2139.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">!</tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*IN_DECL</tspan> }><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2140.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">!</tspan>{ <tspan fill="#dcaeea">$<text></tspan> <tspan fill="#c7bf54">~~</tspan> /<tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">=></tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">:</tspan>'<:<tspan fill="#b3d23c">alpha</tspan>><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">|%</tspan>'<tspan fill="#56b6c2"> </tspan>/ }><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2142.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">!</tspan>{ <tspan fill="#dcaeea">$<text></tspan> <tspan fill="#c7bf54">~~</tspan> /<tspan fill="#56b6c2"> </tspan><tspan fill="#bda26f">^</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\s</tspan><tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#bda26f">$</tspan><tspan fill="#56b6c2"> </tspan>/ }><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2143.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">?</tspan>{ | |
</text><text x="0" y="2144.400000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$sigil</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$<sigil></tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">Str</tspan>; | |
</text><text x="0" y="2145.600000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$text</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$<text></tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">Str</tspan>; | |
</text><text x="0" y="2146.800000em" xml:space="preserve">            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$bad</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$sigil</tspan> <tspan fill="#c7bf54">~</tspan> '<tspan fill="#98c379">{</tspan>' <tspan fill="#c7bf54">~</tspan> <tspan fill="#dcaeea">$text</tspan> <tspan fill="#c7bf54">~</tspan> '<tspan fill="#98c379">}</tspan>'; | |
</text><text x="0" y="2148.000000em" xml:space="preserve">            <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">$text</tspan> <tspan fill="#c7bf54">~~</tspan> /<tspan fill="#bda26f">^</tspan><tspan fill="#d26464" font-weight="bold">\d</tspan><tspan fill="#c7bf54">+</tspan><tspan fill="#bda26f">$</tspan>/ { | |
</text><text x="0" y="2149.200000em" xml:space="preserve">                <tspan fill="#dcaeea">$text</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::radix</tspan>(<tspan fill="#d19a66">10</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$text</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#d19a66">0</tspan>)<tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">]</tspan>; | |
</text><text x="0" y="2150.400000em" xml:space="preserve">                <tspan fill="#dcaeea">$text</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$text</tspan> <tspan fill="#c7bf54">-</tspan> <tspan fill="#d19a66">1</tspan> <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">$text</tspan> <tspan fill="#c7bf54">></tspan> <tspan fill="#d19a66">0</tspan>; | |
</text><text x="0" y="2151.600000em" xml:space="preserve">            } | |
</text><text x="0" y="2152.800000em" xml:space="preserve">            <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">$sigil</tspan> <tspan fill="#b756ff" font-weight="bold">ne</tspan> '<tspan fill="#98c379">$</tspan>' <tspan fill="#c7bf54">&&</tspan> <tspan fill="#dcaeea">$sigil</tspan> <tspan fill="#b756ff" font-weight="bold">ne</tspan> '<tspan fill="#98c379">@</tspan>' { | |
</text><text x="0" y="2154.000000em" xml:space="preserve">                <tspan fill="#ef8383">False</tspan>;  <tspan fill="#8a93a5" font-style="italic"># not likely a P5ism</tspan> | |
</text><text x="0" y="2155.200000em" xml:space="preserve">            } | |
</text><text x="0" y="2156.400000em" xml:space="preserve">            <tspan fill="#c678dd">elsif</tspan> <tspan fill="#c7bf54">!</tspan>(<tspan fill="#dcaeea">$text</tspan> <tspan fill="#c7bf54">~~</tspan> /<tspan fill="#bda26f">^</tspan>(<tspan fill="#d26464" font-weight="bold">\w</tspan><tspan fill="#c7bf54">|\</tspan><tspan fill="#56b6c2">:</tspan>)<tspan fill="#c7bf54">+</tspan><tspan fill="#bda26f">$</tspan>/) { | |
</text><text x="0" y="2157.600000em" xml:space="preserve">                <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obs</tspan>(<tspan fill="#dcaeea">$bad</tspan><tspan fill="#c7bf54">,</tspan> "<tspan fill="#dcaeea">$sigil</tspan><tspan fill="#63c381">\(</tspan><tspan fill="#dcaeea">$text</tspan><tspan fill="#63c381">) for hard ref or </tspan><tspan fill="#dcaeea">$sigil</tspan><tspan fill="#63c381">\::(</tspan><tspan fill="#dcaeea">$text</tspan><tspan fill="#63c381">) for symbolic ref</tspan>"); | |
</text><text x="0" y="2158.800000em" xml:space="preserve">            } | |
</text><text x="0" y="2160.000000em" xml:space="preserve">            <tspan fill="#c678dd">elsif</tspan> <tspan fill="#dcaeea" font-weight="bold">$*QSIGIL</tspan> { | |
</text><text x="0" y="2161.200000em" xml:space="preserve">                <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obs</tspan>(<tspan fill="#dcaeea">$bad</tspan><tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">{</tspan>' <tspan fill="#c7bf54">~</tspan> <tspan fill="#dcaeea">$sigil</tspan> <tspan fill="#c7bf54">~</tspan> <tspan fill="#dcaeea">$text</tspan> <tspan fill="#c7bf54">~</tspan> '<tspan fill="#98c379">}</tspan>'); | |
</text><text x="0" y="2162.400000em" xml:space="preserve">            } | |
</text><text x="0" y="2163.600000em" xml:space="preserve">            <tspan fill="#c678dd">else</tspan> { | |
</text><text x="0" y="2164.800000em" xml:space="preserve">                <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">obs</tspan>(<tspan fill="#dcaeea">$bad</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$sigil</tspan> <tspan fill="#c7bf54">~</tspan> <tspan fill="#dcaeea">$text</tspan>); | |
</text><text x="0" y="2166.000000em" xml:space="preserve">            } | |
</text><text x="0" y="2167.200000em" xml:space="preserve">        }><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2168.400000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2169.600000em" xml:space="preserve"> | |
</text><text x="0" y="2170.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">desigilname</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2172.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2173.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">sigil</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">sigil</tspan>><tspan fill="#56b6c2"> </tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">variable</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2174.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#00b1f7">sigil</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2175.600000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*IN_DECL</tspan> }><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>: '<tspan fill="#98c379">X::Syntax::Variable::IndirectDeclaration</tspan>'><tspan fill="#56b6c2"> </tspan>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2176.800000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><<tspan fill="#00b1f7">variable</tspan>><tspan fill="#56b6c2"> </tspan>{ | |
</text><text x="0" y="2178.000000em" xml:space="preserve">                <tspan fill="#dcaeea" font-weight="bold">$*VAR</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$<variable></tspan>; | |
</text><text x="0" y="2179.200000em" xml:space="preserve">            }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2180.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">longname</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2181.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2182.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2184.000000em" xml:space="preserve"> | |
</text><text x="0" y="2185.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">desigilmetaname</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2186.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#dcaeea">$<longname></tspan><tspan fill="#c7bf54">=</tspan>(<tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea">$<name></tspan><tspan fill="#c7bf54">=</tspan>(<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">identifier</tspan>><tspan fill="#56b6c2">  </tspan>)<tspan fill="#56b6c2"> </tspan>)<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2187.600000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2188.800000em" xml:space="preserve"> | |
</text><text x="0" y="2190.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">variable</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2191.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*IN_META</tspan> <tspan fill="#c7bf54">:=</tspan> '';<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2192.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2193.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>:<tspan fill="#b3d23c">dba</tspan>('<tspan fill="#98c379">infix noun</tspan>')<tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">&[</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">~</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">]</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">infixish</tspan>('<tspan fill="#98c379">[]</tspan>')><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2194.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sigil</tspan>><tspan fill="#56b6c2"> </tspan>[<tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea">$<twigil></tspan><tspan fill="#c7bf54">=</tspan>['<tspan fill="#98c379">.^</tspan>']<tspan fill="#56b6c2"> </tspan><<tspan fill="#dcaeea">desigilname</tspan><tspan fill="#c7bf54">=</tspan><tspan fill="#00b1f7">desigilmetaname</tspan>><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">twigil</tspan>><tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">desigilname</tspan>><tspan fill="#56b6c2"> </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2196.000000em" xml:space="preserve"><tspan fill="#56b6c2">          </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>{ <tspan fill="#c7bf54">!</tspan><tspan fill="#dcaeea" font-weight="bold">$*IN_DECL</tspan> <tspan fill="#c7bf54">&&</tspan> <tspan fill="#dcaeea" font-weight="bold">$*VARIABLE</tspan> <tspan fill="#c7bf54">&&</tspan> <tspan fill="#dcaeea" font-weight="bold">$*VARIABLE</tspan> <tspan fill="#b756ff" font-weight="bold">eq</tspan> <tspan fill="#dcaeea">$<sigil></tspan> <tspan fill="#c7bf54">~</tspan> <tspan fill="#dcaeea">$<twigil></tspan> <tspan fill="#c7bf54">~</tspan> <tspan fill="#dcaeea">$<desigilname></tspan> }><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2197.200000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>{ <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan><tspan fill="#c7bf54">:</tspan> '<tspan fill="#98c379">X::Syntax::Variable::Initializer</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#98c379">name</tspan> <tspan fill="#c7bf54">=></tspan> <tspan fill="#dcaeea" font-weight="bold">$*VARIABLE</tspan> }<tspan fill="#56b6c2"> </tspan>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2198.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">special_variable</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2199.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sigil</tspan>><tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea">$<index></tspan><tspan fill="#c7bf54">=</tspan>[<tspan fill="#d26464" font-weight="bold">\d</tspan><tspan fill="#c7bf54">+</tspan>]<tspan fill="#56b6c2">                              </tspan>[<<tspan fill="#c7bf54">?</tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*IN_DECL</tspan> }><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>: "<tspan fill="#63c381">X::Syntax::Variable::Numeric</tspan>">]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2200.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sigil</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>[<tspan fill="#56b6c2"><</tspan>]><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">postcircumfix</tspan>><tspan fill="#56b6c2">                      </tspan>[<<tspan fill="#c7bf54">?</tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*IN_DECL</tspan> }><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>('<tspan fill="#98c379">X::Syntax::Variable::Match</tspan>')>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2202.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">sigil</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.?</tspan>[<tspan fill="#56b6c2"> ( [ { </tspan>]>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">!</tspan><tspan fill="#00b1f7">RESTRICTED</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>{ <tspan fill="#c7bf54">!</tspan><tspan fill="#dcaeea" font-weight="bold">$*IN_DECL</tspan> }><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">contextualizer</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2203.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea">$<sigil></tspan><tspan fill="#c7bf54">=</tspan>['<tspan fill="#98c379">$</tspan>']<tspan fill="#56b6c2"> </tspan><tspan fill="#dcaeea">$<desigilname></tspan><tspan fill="#c7bf54">=</tspan>[<[<tspan fill="#56b6c2">/_!¢</tspan>]>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2204.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>{}<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sigil</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">!</tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*QSIGIL</tspan> }><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#00b1f7">MARKER</tspan>('<tspan fill="#98c379">baresigil</tspan>')><tspan fill="#56b6c2">   </tspan><tspan fill="#8a93a5" font-style="italic"># try last, to allow sublanguages to redefine sigils (like & in regex) | |
</tspan></text><text x="0" y="2205.600000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2206.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>{ <tspan fill="#dcaeea">$<twigil></tspan> <tspan fill="#c7bf54">&&</tspan> ( <tspan fill="#dcaeea">$<twigil></tspan> <tspan fill="#b756ff" font-weight="bold">eq</tspan> '<tspan fill="#98c379">.</tspan>' <tspan fill="#c7bf54">||</tspan> <tspan fill="#dcaeea">$<twigil></tspan> <tspan fill="#b756ff" font-weight="bold">eq</tspan> '<tspan fill="#98c379">.^</tspan>' ) }><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2208.000000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">unsp</tspan>><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">\\</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>><tspan fill="#56b6c2"> </tspan>]<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>[<tspan fill="#56b6c2">(:</tspan>]><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">!</tspan><tspan fill="#00b1f7">RESTRICTED</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2209.200000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>:<tspan fill="#b3d23c">dba</tspan>('<tspan fill="#98c379">method arguments</tspan>')<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2210.400000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2211.600000em" xml:space="preserve"><tspan fill="#56b6c2">                </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">:</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\s</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">{</tspan>'><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">!</tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*QSIGIL</tspan> }><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">arglist</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2212.800000em" xml:space="preserve"><tspan fill="#56b6c2">                </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">(</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">arglist</tspan>><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">)</tspan>'<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2214.000000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2215.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2216.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*LEFTSIGIL</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#00b1f7">nqp::substr</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">orig</tspan>()<tspan fill="#c7bf54">,</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">from</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#d19a66">1</tspan>) <tspan fill="#c678dd">unless</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LEFTSIGIL</tspan> }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2217.600000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2218.800000em" xml:space="preserve"> | |
</text><text x="0" y="2220.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">contextualizer</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2221.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>:<tspan fill="#b3d23c">dba</tspan>('<tspan fill="#98c379">contextualizer</tspan>')<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2222.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*IN_DECL</tspan> }><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">panic</tspan>: "<tspan fill="#63c381">Cannot declare a contextualizer</tspan>"><tspan fill="#56b6c2"> </tspan>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2223.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2224.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sigil</tspan>><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">(</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">~</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">)</tspan>'<tspan fill="#56b6c2">    </tspan><<tspan fill="#dcaeea">coercee</tspan><tspan fill="#c7bf54">=</tspan><tspan fill="#00b1f7">sequence</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2226.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">|</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sigil</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan>[<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">[ </tspan><tspan fill="#c7bf54">\</tspan><tspan fill="#56b6c2">{ </tspan>]><tspan fill="#56b6c2"> </tspan><<tspan fill="#dcaeea">coercee</tspan><tspan fill="#c7bf54">=</tspan><tspan fill="#00b1f7">circumfix</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2227.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2228.400000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2229.600000em" xml:space="preserve"> | |
</text><text x="0" y="2230.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">sigil</tspan> {<tspan fill="#56b6c2"> </tspan><[<tspan fill="#56b6c2">$@%&</tspan>]><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="2232.000000em" xml:space="preserve"> | |
</text><text x="0" y="2233.200000em" xml:space="preserve">    <tspan fill="#c678dd">proto</tspan> <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">twigil</tspan> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">...</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="2234.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">twigil</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">.</tspan>> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\w</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="2235.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">twigil</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">!</tspan>> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\w</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="2236.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">twigil</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">^</tspan>> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\w</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="2238.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">twigil</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">:</tspan>> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\w</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="2239.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">twigil</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">*</tspan>> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\w</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="2240.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">twigil</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">?</tspan>> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\w</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="2241.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">twigil</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">=</tspan>> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\w</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="2242.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">twigil</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">~</tspan>> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">sym</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">?</tspan><tspan fill="#b756ff" font-weight="bold">before</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#d26464" font-weight="bold">\w</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="2244.000000em" xml:space="preserve"> | |
</text><text x="0" y="2245.200000em" xml:space="preserve">    <tspan fill="#c678dd">proto</tspan> <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">package_declarator</tspan> {<tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">...</tspan>><tspan fill="#56b6c2"> </tspan>} | |
</text><text x="0" y="2246.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">package_declarator</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">package</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2247.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*OUTERPACKAGE</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">package</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2248.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*PKGDECL</tspan> <tspan fill="#c7bf54">:=</tspan> '<tspan fill="#98c379">package</tspan>';<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2250.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LINE_NO</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c1abea">HLL::Compiler</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">lineof</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">orig</tspan>()<tspan fill="#c7bf54">,</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">from</tspan>()<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">cache</tspan>(<tspan fill="#d19a66">1</tspan>));<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2251.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">package_def</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2252.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">set_braid_from</tspan>(<tspan fill="#ef8383">self</tspan>)><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2253.600000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2254.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">package_declarator</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">module</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2256.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*OUTERPACKAGE</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">package</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2257.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*PKGDECL</tspan> <tspan fill="#c7bf54">:=</tspan> '<tspan fill="#98c379">module</tspan>';<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2258.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LINE_NO</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c1abea">HLL::Compiler</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">lineof</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">orig</tspan>()<tspan fill="#c7bf54">,</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">from</tspan>()<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">cache</tspan>(<tspan fill="#d19a66">1</tspan>));<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2259.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">package_def</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2260.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">set_braid_from</tspan>(<tspan fill="#ef8383">self</tspan>)><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2262.000000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2263.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">package_declarator</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">class</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2264.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*OUTERPACKAGE</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">package</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2265.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*PKGDECL</tspan> <tspan fill="#c7bf54">:=</tspan> '<tspan fill="#98c379">class</tspan>';<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2266.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LINE_NO</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c1abea">HLL::Compiler</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">lineof</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">orig</tspan>()<tspan fill="#c7bf54">,</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">from</tspan>()<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">cache</tspan>(<tspan fill="#d19a66">1</tspan>));<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2268.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">package_def</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2269.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">set_braid_from</tspan>(<tspan fill="#ef8383">self</tspan>)><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2270.400000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2271.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">package_declarator</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">grammar</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2272.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*OUTERPACKAGE</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">package</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2274.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*PKGDECL</tspan> <tspan fill="#c7bf54">:=</tspan> '<tspan fill="#98c379">grammar</tspan>';<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2275.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LINE_NO</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c1abea">HLL::Compiler</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">lineof</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">orig</tspan>()<tspan fill="#c7bf54">,</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">from</tspan>()<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">cache</tspan>(<tspan fill="#d19a66">1</tspan>));<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2276.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">package_def</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2277.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">set_braid_from</tspan>(<tspan fill="#ef8383">self</tspan>)><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2278.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2280.000000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">package_declarator</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">role</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2281.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*OUTERPACKAGE</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">package</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2282.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*PKGDECL</tspan> <tspan fill="#c7bf54">:=</tspan> '<tspan fill="#98c379">role</tspan>';<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2283.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LINE_NO</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c1abea">HLL::Compiler</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">lineof</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">orig</tspan>()<tspan fill="#c7bf54">,</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">from</tspan>()<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">cache</tspan>(<tspan fill="#d19a66">1</tspan>));<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2284.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">package_def</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2286.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">set_braid_from</tspan>(<tspan fill="#ef8383">self</tspan>)><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2287.200000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2288.400000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">package_declarator</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">knowhow</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2289.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*OUTERPACKAGE</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">package</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2290.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*PKGDECL</tspan> <tspan fill="#c7bf54">:=</tspan> '<tspan fill="#98c379">knowhow</tspan>';<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2292.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LINE_NO</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c1abea">HLL::Compiler</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">lineof</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">orig</tspan>()<tspan fill="#c7bf54">,</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">from</tspan>()<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">cache</tspan>(<tspan fill="#d19a66">1</tspan>));<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2293.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">package_def</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2294.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">set_braid_from</tspan>(<tspan fill="#ef8383">self</tspan>)><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2295.600000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2296.800000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">package_declarator</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">native</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2298.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*OUTERPACKAGE</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">package</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2299.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*PKGDECL</tspan> <tspan fill="#c7bf54">:=</tspan> '<tspan fill="#98c379">native</tspan>';<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2300.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LINE_NO</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c1abea">HLL::Compiler</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">lineof</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">orig</tspan>()<tspan fill="#c7bf54">,</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">from</tspan>()<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">cache</tspan>(<tspan fill="#d19a66">1</tspan>));<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2301.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">package_def</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2302.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">set_braid_from</tspan>(<tspan fill="#ef8383">self</tspan>)><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2304.000000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2305.200000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">package_declarator</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">slang</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2306.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*OUTERPACKAGE</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">package</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2307.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*PKGDECL</tspan> <tspan fill="#c7bf54">:=</tspan> '<tspan fill="#98c379">slang</tspan>';<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2308.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*LINE_NO</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#c1abea">HLL::Compiler</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">lineof</tspan>(<tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">orig</tspan>()<tspan fill="#c7bf54">,</tspan> <tspan fill="#ef8383">self</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">from</tspan>()<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">cache</tspan>(<tspan fill="#d19a66">1</tspan>));<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2310.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">package_def</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2311.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">set_braid_from</tspan>(<tspan fill="#ef8383">self</tspan>)><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2312.400000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2313.600000em" xml:space="preserve">    <tspan fill="#c678dd">token</tspan> <tspan fill="#00b1f7">package_declarator</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">trusts</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2314.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">typename</tspan>><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typo_typename</tspan>(<tspan fill="#d19a66">1</tspan>)><tspan fill="#56b6c2"> </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2316.000000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2317.200000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">package_declarator</tspan>:<tspan fill="#b3d23c">sym</tspan><<tspan fill="#98c379">also</tspan>> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2318.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#00b1f7">sym</tspan>><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">kok</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2319.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">trait</tspan>><tspan fill="#c7bf54">+</tspan><tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">||</tspan><tspan fill="#56b6c2"> </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">panic</tspan>: "<tspan fill="#63c381">No valid trait found after also</tspan>"><tspan fill="#56b6c2"> </tspan>]<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2320.800000em" xml:space="preserve"><tspan fill="#56b6c2">    </tspan>} | |
</text><text x="0" y="2322.000000em" xml:space="preserve"> | |
</text><text x="0" y="2323.200000em" xml:space="preserve">    <tspan fill="#c678dd">rule</tspan> <tspan fill="#00b1f7">package_def</tspan> {<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2324.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$longname</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2325.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$outer</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">cur_lexpad</tspan>();<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2326.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*IMPLICIT</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2328.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*DECLARAND</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2329.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*CODE_OBJECT</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">stub_code_object</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*PKGDECL</tspan> <tspan fill="#b756ff" font-weight="bold">eq</tspan> '<tspan fill="#98c379">role</tspan>' <tspan fill="#c7bf54">??</tspan> '<tspan fill="#98c379">Sub</tspan>' <tspan fill="#c7bf54">!!</tspan> '<tspan fill="#98c379">Block</tspan>');<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2330.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*IN_DECL</tspan> <tspan fill="#c7bf54">:=</tspan> '<tspan fill="#98c379">package</tspan>';<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2331.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*HAS_SELF</tspan> <tspan fill="#c7bf54">:=</tspan> '';<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2332.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*CURPAD</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2334.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*DOC</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*DECLARATOR_DOCS</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2335.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*POD_BLOCK</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2336.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*BORG</tspan> <tspan fill="#c7bf54">:=</tspan> {};<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2337.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*DECLARATOR_DOCS</tspan> <tspan fill="#c7bf54">:=</tspan> '' }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2338.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">attach_leading_docs</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2340.000000em" xml:space="preserve"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2341.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#8a93a5" font-style="italic"># Type-object will live in here; also set default REPR (a trait | |
</tspan></text><text x="0" y="2342.400000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#8a93a5" font-style="italic"># may override this, e.g. is repr('...')). | |
</tspan></text><text x="0" y="2343.600000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*PACKAGE</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*OUTERPACKAGE</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2344.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$package</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2346.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">%*ATTR_USAGES</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2347.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*REPR</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2348.400000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*VER</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2349.600000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*API</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2350.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#c7bf54">:</tspan><tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea" font-weight="bold">$*AUTH</tspan>;<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2352.000000em" xml:space="preserve"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2353.200000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><tspan fill="#8a93a5" font-style="italic"># Default to our scoped. | |
</tspan></text><text x="0" y="2354.400000em" xml:space="preserve"><tspan fill="#8a93a5" font-style="italic"></tspan><tspan fill="#56b6c2">        </tspan>{ <tspan fill="#c678dd">unless</tspan> <tspan fill="#dcaeea" font-weight="bold">$*SCOPE</tspan> { <tspan fill="#dcaeea" font-weight="bold">$*SCOPE</tspan> <tspan fill="#c7bf54">:=</tspan> '<tspan fill="#98c379">our</tspan>'; } }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2355.600000em" xml:space="preserve"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2356.800000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan><<tspan fill="#c7bf54">!!</tspan>{ <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">clone_braid_from</tspan>(<tspan fill="#ef8383">self</tspan>) }><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2358.000000em" xml:space="preserve"><tspan fill="#56b6c2">        </tspan>[<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2359.200000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>[<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">longname</tspan>><tspan fill="#56b6c2"> </tspan>{ <tspan fill="#dcaeea">$longname</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">dissect_longname</tspan>(<tspan fill="#dcaeea">$<longname></tspan>); }<tspan fill="#56b6c2"> </tspan>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2360.400000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><<tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">newpad</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2361.600000em" xml:space="preserve"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2362.800000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>[<tspan fill="#56b6c2"> </tspan>:<tspan fill="#b3d23c">dba</tspan>('<tspan fill="#98c379">generic role</tspan>')<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2364.000000em" xml:space="preserve"><tspan fill="#56b6c2">                </tspan><<tspan fill="#c7bf54">?</tspan>{ (<tspan fill="#dcaeea" font-weight="bold">$*PKGDECL</tspan><tspan fill="#c7bf54">//</tspan>'') <tspan fill="#b756ff" font-weight="bold">eq</tspan> '<tspan fill="#98c379">role</tspan>' }><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2365.200000em" xml:space="preserve"><tspan fill="#56b6c2">                </tspan>'<tspan fill="#98c379">[</tspan>'<tspan fill="#56b6c2"> </tspan><tspan fill="#c7bf54">~</tspan><tspan fill="#56b6c2"> </tspan>'<tspan fill="#98c379">]</tspan>'<tspan fill="#56b6c2"> </tspan><<tspan fill="#00b1f7">signature</tspan>><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2366.400000em" xml:space="preserve"><tspan fill="#56b6c2">                </tspan>{ <tspan fill="#dcaeea" font-weight="bold">$*IN_DECL</tspan> <tspan fill="#c7bf54">:=</tspan> ''; }<tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2367.600000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>]<tspan fill="#c7bf54">?</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2368.800000em" xml:space="preserve"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2370.000000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan><<tspan fill="#00b1f7">trait</tspan>><tspan fill="#c7bf54">*</tspan><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2371.200000em" xml:space="preserve"><tspan fill="#56b6c2"> | |
</tspan></text><text x="0" y="2372.400000em" xml:space="preserve"><tspan fill="#56b6c2">            </tspan>{ | |
</text><text x="0" y="2373.600000em" xml:space="preserve">                <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$target_package</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$longname</tspan> <tspan fill="#c7bf54">&&</tspan> <tspan fill="#dcaeea">$longname</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">is_declared_in_global</tspan>() | |
</text><text x="0" y="2374.800000em" xml:space="preserve">                    <tspan fill="#c7bf54">??</tspan> <tspan fill="#dcaeea" font-weight="bold">$*GLOBALish</tspan> | |
</text><text x="0" y="2376.000000em" xml:space="preserve">                    <tspan fill="#c7bf54">!!</tspan> <tspan fill="#dcaeea" font-weight="bold">$*OUTERPACKAGE</tspan>; | |
</text><text x="0" y="2377.200000em" xml:space="preserve"> | |
</text><text x="0" y="2378.400000em" xml:space="preserve">                <tspan fill="#8a93a5" font-style="italic"># Unless we're augmenting...</tspan> | |
</text><text x="0" y="2379.600000em" xml:space="preserve">                <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea" font-weight="bold">$*SCOPE</tspan> <tspan fill="#b756ff" font-weight="bold">ne</tspan> '<tspan fill="#98c379">augment</tspan>' { | |
</text><text x="0" y="2380.800000em" xml:space="preserve">                    <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">$longname</tspan> { | |
</text><text x="0" y="2382.000000em" xml:space="preserve">                        <tspan fill="#c678dd">for</tspan> <tspan fill="#dcaeea">$longname</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">colonpairs_hash</tspan>('<tspan fill="#98c379">class</tspan>') <tspan fill="#c678dd">-></tspan> <tspan fill="#dcaeea">$adverb</tspan> { | |
</text><text x="0" y="2383.200000em" xml:space="preserve">                            <tspan fill="#c678dd">my</tspan> <tspan fill="#ef8383">str</tspan> <tspan fill="#dcaeea">$key</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$adverb</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">key</tspan>; | |
</text><text x="0" y="2384.400000em" xml:space="preserve">                            <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">$key</tspan> <tspan fill="#b756ff" font-weight="bold">eq</tspan> '<tspan fill="#98c379">ver</tspan>' { | |
</text><text x="0" y="2385.600000em" xml:space="preserve">                                <tspan fill="#dcaeea" font-weight="bold">$*VER</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">handle-begin-time-exceptions</tspan>(<tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="2386.800000em" xml:space="preserve">                                    '<tspan fill="#98c379">parsing package version</tspan>'<tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="2388.000000em" xml:space="preserve">                                    <tspan fill="#c678dd">-></tspan> { <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">find_single_symbol</tspan>('<tspan fill="#98c379">Version</tspan>')<tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">new</tspan>(<tspan fill="#dcaeea">$adverb</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">value</tspan>) }); | |
</text><text x="0" y="2389.200000em" xml:space="preserve">                            } | |
</text><text x="0" y="2390.400000em" xml:space="preserve">                            <tspan fill="#c678dd">elsif</tspan> <tspan fill="#dcaeea">$key</tspan> <tspan fill="#b756ff" font-weight="bold">eq</tspan> '<tspan fill="#98c379">api</tspan>' { | |
</text><text x="0" y="2391.600000em" xml:space="preserve">                                <tspan fill="#dcaeea" font-weight="bold">$*API</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$adverb</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">value</tspan>; | |
</text><text x="0" y="2392.800000em" xml:space="preserve">                            } | |
</text><text x="0" y="2394.000000em" xml:space="preserve">                            <tspan fill="#c678dd">elsif</tspan> <tspan fill="#dcaeea">$key</tspan> <tspan fill="#b756ff" font-weight="bold">eq</tspan> '<tspan fill="#98c379">auth</tspan>' { | |
</text><text x="0" y="2395.200000em" xml:space="preserve">                                <tspan fill="#dcaeea" font-weight="bold">$*AUTH</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$adverb</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">value</tspan>; | |
</text><text x="0" y="2396.400000em" xml:space="preserve">                            } | |
</text><text x="0" y="2397.600000em" xml:space="preserve">                            <tspan fill="#c678dd">else</tspan> { | |
</text><text x="0" y="2398.800000em" xml:space="preserve">                                <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>('<tspan fill="#98c379">X::Syntax::Type::Adverb</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#98c379">adverb</tspan> <tspan fill="#c7bf54">=></tspan> <tspan fill="#dcaeea">$adverb</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">key</tspan>); | |
</text><text x="0" y="2400.000000em" xml:space="preserve">                            } | |
</text><text x="0" y="2401.200000em" xml:space="preserve">                        } | |
</text><text x="0" y="2402.400000em" xml:space="preserve">                    } | |
</text><text x="0" y="2403.600000em" xml:space="preserve"> | |
</text><text x="0" y="2404.800000em" xml:space="preserve">                    <tspan fill="#8a93a5" font-style="italic"># Locate any existing symbol. Note that it's only a match</tspan> | |
</text><text x="0" y="2406.000000em" xml:space="preserve">                    <tspan fill="#8a93a5" font-style="italic"># with "my" if we already have a declaration in this scope.</tspan> | |
</text><text x="0" y="2407.200000em" xml:space="preserve">                    <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$exists</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">0</tspan>; | |
</text><text x="0" y="2408.400000em" xml:space="preserve">                    <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">@name</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$longname</tspan> <tspan fill="#c7bf54">??</tspan> | |
</text><text x="0" y="2409.600000em" xml:space="preserve">                        <tspan fill="#dcaeea">$longname</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">type_name_parts</tspan>('<tspan fill="#98c379">package name</tspan>'<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">decl</tspan>(<tspan fill="#d19a66">1</tspan>)) <tspan fill="#c7bf54">!!</tspan> | |
</text><text x="0" y="2410.800000em" xml:space="preserve">                        <tspan fill="#c7bf54">[]</tspan>; | |
</text><text x="0" y="2412.000000em" xml:space="preserve">                    <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">@name</tspan> <tspan fill="#c7bf54">&&</tspan> <tspan fill="#dcaeea" font-weight="bold">$*SCOPE</tspan> <tspan fill="#b756ff" font-weight="bold">ne</tspan> '<tspan fill="#98c379">anon</tspan>' { | |
</text><text x="0" y="2413.200000em" xml:space="preserve">                        <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">@name</tspan> <tspan fill="#c7bf54">&&</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">already_declared</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*SCOPE</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$target_package</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$outer</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">@name</tspan>) { | |
</text><text x="0" y="2414.400000em" xml:space="preserve">                            <tspan fill="#dcaeea" font-weight="bold">$*PACKAGE</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$package</tspan> <tspan fill="#76a9f9">:</tspan><tspan fill="#c7bf54">=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">find_symbol</tspan>(<tspan fill="#dcaeea">@name</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#98c379">cur-package</tspan> <tspan fill="#c7bf54">=></tspan> <tspan fill="#dcaeea">$target_package</tspan>); | |
</text><text x="0" y="2415.600000em" xml:space="preserve">                            <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">set_package</tspan>(<tspan fill="#dcaeea">$package</tspan>); | |
</text><text x="0" y="2416.800000em" xml:space="preserve">                            <tspan fill="#dcaeea">$exists</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#d19a66">1</tspan>; | |
</text><text x="0" y="2418.000000em" xml:space="preserve">                        } | |
</text><text x="0" y="2419.200000em" xml:space="preserve">                    } | |
</text><text x="0" y="2420.400000em" xml:space="preserve">                    <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$fullname</tspan>; | |
</text><text x="0" y="2421.600000em" xml:space="preserve">                    <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">@name</tspan> { | |
</text><text x="0" y="2422.800000em" xml:space="preserve">                        <tspan fill="#dcaeea">$fullname</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$longname</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">fully_qualified_with</tspan>(<tspan fill="#dcaeea">$target_package</tspan>); | |
</text><text x="0" y="2424.000000em" xml:space="preserve">                    } | |
</text><text x="0" y="2425.200000em" xml:space="preserve"> | |
</text><text x="0" y="2426.400000em" xml:space="preserve">                    <tspan fill="#8a93a5" font-style="italic"># If it exists already, then it's either uncomposed (in which</tspan> | |
</text><text x="0" y="2427.600000em" xml:space="preserve">                    <tspan fill="#8a93a5" font-style="italic"># case we just stubbed it), a role (in which case multiple</tspan> | |
</text><text x="0" y="2428.800000em" xml:space="preserve">                    <tspan fill="#8a93a5" font-style="italic"># variants are OK) or else an illegal redecl.</tspan> | |
</text><text x="0" y="2430.000000em" xml:space="preserve">                    <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">$exists</tspan> <tspan fill="#c7bf54">&&</tspan> (<tspan fill="#dcaeea" font-weight="bold">$*PKGDECL</tspan> <tspan fill="#b756ff" font-weight="bold">ne</tspan> '<tspan fill="#98c379">role</tspan>' <tspan fill="#c7bf54">||</tspan> <tspan fill="#c7bf54">!</tspan><tspan fill="#00b1f7">nqp::can</tspan>(<tspan fill="#dcaeea">$package</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">HOW</tspan><tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">configure_punning</tspan>')) { | |
</text><text x="0" y="2431.200000em" xml:space="preserve">                        <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea" font-weight="bold">$*PKGDECL</tspan> <tspan fill="#b756ff" font-weight="bold">eq</tspan> '<tspan fill="#98c379">role</tspan>' <tspan fill="#c7bf54">||</tspan> <tspan fill="#c7bf54">!</tspan><tspan fill="#00b1f7">nqp::can</tspan>(<tspan fill="#dcaeea">$package</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">HOW</tspan><tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">is_composed</tspan>') <tspan fill="#c7bf54">||</tspan> <tspan fill="#dcaeea">$package</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">HOW</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">is_composed</tspan>(<tspan fill="#dcaeea">$package</tspan>) { | |
</text><text x="0" y="2432.400000em" xml:space="preserve">                            <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">throw</tspan>(<tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">[</tspan>'<tspan fill="#98c379">X</tspan>'<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">Redeclaration</tspan>'<tspan fill="#c7bf54">],</tspan> | |
</text><text x="0" y="2433.600000em" xml:space="preserve">                                <tspan fill="#98c379">symbol</tspan> <tspan fill="#c7bf54">=></tspan> <tspan fill="#dcaeea">$longname</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">name</tspan>()<tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="2434.800000em" xml:space="preserve">                            ); | |
</text><text x="0" y="2436.000000em" xml:space="preserve">                        } | |
</text><text x="0" y="2437.200000em" xml:space="preserve">                        <tspan fill="#c678dd">if</tspan> <tspan fill="#00b1f7">nqp::defined</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*REPR</tspan>) { | |
</text><text x="0" y="2438.400000em" xml:space="preserve">                            <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">throw</tspan>(<tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">[</tspan>'<tspan fill="#98c379">X</tspan>'<tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">TooLateForREPR</tspan>'<tspan fill="#c7bf54">],</tspan> <tspan fill="#98c379">type</tspan> <tspan fill="#c7bf54">=></tspan> <tspan fill="#dcaeea">$package</tspan>); | |
</text><text x="0" y="2439.600000em" xml:space="preserve">                        } | |
</text><text x="0" y="2440.800000em" xml:space="preserve">                    } | |
</text><text x="0" y="2442.000000em" xml:space="preserve"> | |
</text><text x="0" y="2443.200000em" xml:space="preserve">                    <tspan fill="#8a93a5" font-style="italic"># If it's not a role, or it is a role but one with no name,</tspan> | |
</text><text x="0" y="2444.400000em" xml:space="preserve">                    <tspan fill="#8a93a5" font-style="italic"># then just needs meta-object construction and installation.</tspan> | |
</text><text x="0" y="2445.600000em" xml:space="preserve">                    <tspan fill="#c678dd">elsif</tspan> <tspan fill="#dcaeea" font-weight="bold">$*PKGDECL</tspan> <tspan fill="#b756ff" font-weight="bold">ne</tspan> '<tspan fill="#98c379">role</tspan>' <tspan fill="#c7bf54">||</tspan> <tspan fill="#c7bf54">!</tspan><tspan fill="#dcaeea">@name</tspan> { | |
</text><text x="0" y="2446.800000em" xml:space="preserve">                        <tspan fill="#8a93a5" font-style="italic"># Construct meta-object for this package.</tspan> | |
</text><text x="0" y="2448.000000em" xml:space="preserve">                        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">%args</tspan>; | |
</text><text x="0" y="2449.200000em" xml:space="preserve">                        <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">@name</tspan> { | |
</text><text x="0" y="2450.400000em" xml:space="preserve">                            <tspan fill="#dcaeea">%args</tspan><<tspan fill="#98c379">name</tspan>> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$fullname</tspan>; | |
</text><text x="0" y="2451.600000em" xml:space="preserve">                            <tspan fill="#dcaeea">%args</tspan><<tspan fill="#98c379">ver</tspan>> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*VER</tspan>; | |
</text><text x="0" y="2452.800000em" xml:space="preserve">                            <tspan fill="#dcaeea">%args</tspan><<tspan fill="#98c379">api</tspan>> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*API</tspan>; | |
</text><text x="0" y="2454.000000em" xml:space="preserve">                            <tspan fill="#dcaeea">%args</tspan><<tspan fill="#98c379">auth</tspan>> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*AUTH</tspan>; | |
</text><text x="0" y="2455.200000em" xml:space="preserve">                        } | |
</text><text x="0" y="2456.400000em" xml:space="preserve">                        <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea" font-weight="bold">$*REPR</tspan> <tspan fill="#b756ff" font-weight="bold">ne</tspan> '' { | |
</text><text x="0" y="2457.600000em" xml:space="preserve">                            <tspan fill="#dcaeea">%args</tspan><<tspan fill="#98c379">repr</tspan>> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*REPR</tspan>; | |
</text><text x="0" y="2458.800000em" xml:space="preserve">                        } | |
</text><text x="0" y="2460.000000em" xml:space="preserve">                        <tspan fill="#dcaeea" font-weight="bold">$*PACKAGE</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$package</tspan> <tspan fill="#76a9f9">:</tspan><tspan fill="#c7bf54">=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">pkg_create_mo</tspan>(<tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">resolve_mo</tspan>(<tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea" font-weight="bold">$*PKGDECL</tspan>)<tspan fill="#c7bf54">,</tspan> <tspan fill="#c7bf54">|</tspan><tspan fill="#dcaeea">%args</tspan>); | |
</text><text x="0" y="2461.200000em" xml:space="preserve">                        <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">set_package</tspan>(<tspan fill="#dcaeea">$package</tspan>); | |
</text><text x="0" y="2462.400000em" xml:space="preserve"> | |
</text><text x="0" y="2463.600000em" xml:space="preserve">                        <tspan fill="#8a93a5" font-style="italic"># Install it in the symbol table if needed.</tspan> | |
</text><text x="0" y="2464.800000em" xml:space="preserve">                        <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">@name</tspan> { | |
</text><text x="0" y="2466.000000em" xml:space="preserve">                            <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">install_package</tspan>(<tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">@name</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea" font-weight="bold">$*SCOPE</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea" font-weight="bold">$*PKGDECL</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$target_package</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$outer</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$package</tspan>); | |
</text><text x="0" y="2467.200000em" xml:space="preserve">                        } | |
</text><text x="0" y="2468.400000em" xml:space="preserve">                    } | |
</text><text x="0" y="2469.600000em" xml:space="preserve"> | |
</text><text x="0" y="2470.800000em" xml:space="preserve">                    <tspan fill="#8a93a5" font-style="italic"># If it's a named role, a little trickier. We need to make</tspan> | |
</text><text x="0" y="2472.000000em" xml:space="preserve">                    <tspan fill="#8a93a5" font-style="italic"># a parametric role group for it (unless we got one), and</tspan> | |
</text><text x="0" y="2473.200000em" xml:space="preserve">                    <tspan fill="#8a93a5" font-style="italic"># then install it in that.</tspan> | |
</text><text x="0" y="2474.400000em" xml:space="preserve">                    <tspan fill="#c678dd">else</tspan> { | |
</text><text x="0" y="2475.600000em" xml:space="preserve">                        <tspan fill="#8a93a5" font-style="italic"># If the group doesn't exist, create it.</tspan> | |
</text><text x="0" y="2476.800000em" xml:space="preserve">                        <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">$group</tspan>; | |
</text><text x="0" y="2478.000000em" xml:space="preserve">                        <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">$exists</tspan> { | |
</text><text x="0" y="2479.200000em" xml:space="preserve">                            <tspan fill="#dcaeea">$group</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$package</tspan>; | |
</text><text x="0" y="2480.400000em" xml:space="preserve">                        } | |
</text><text x="0" y="2481.600000em" xml:space="preserve">                        <tspan fill="#c678dd">else</tspan> { | |
</text><text x="0" y="2482.800000em" xml:space="preserve">                            <tspan fill="#dcaeea">$group</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">pkg_create_mo</tspan>(<tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">resolve_mo</tspan>(<tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">role-group</tspan>')<tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="2484.000000em" xml:space="preserve">                                :<tspan fill="#98c379">name</tspan>(<tspan fill="#dcaeea">$fullname</tspan>)<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">repr</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*REPR</tspan>)); | |
</text><text x="0" y="2485.200000em" xml:space="preserve">                            <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">install_package</tspan>(<tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">@name</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea" font-weight="bold">$*SCOPE</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea" font-weight="bold">$*PKGDECL</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$target_package</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$outer</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea">$group</tspan>); | |
</text><text x="0" y="2486.400000em" xml:space="preserve">                        } | |
</text><text x="0" y="2487.600000em" xml:space="preserve"> | |
</text><text x="0" y="2488.800000em" xml:space="preserve">                        <tspan fill="#8a93a5" font-style="italic"># Construct role meta-object with group.</tspan> | |
</text><text x="0" y="2490.000000em" xml:space="preserve">                        <tspan fill="#c678dd">sub</tspan> <tspan fill="#00b1f7">needs_args</tspan>(<tspan fill="#dcaeea">$s</tspan>) { | |
</text><text x="0" y="2491.200000em" xml:space="preserve">                            <tspan fill="#c678dd">return</tspan> <tspan fill="#d19a66">0</tspan> <tspan fill="#c678dd">if</tspan> <tspan fill="#c7bf54">!</tspan><tspan fill="#dcaeea">$s</tspan>; | |
</text><text x="0" y="2492.400000em" xml:space="preserve">                            <tspan fill="#c678dd">my</tspan> <tspan fill="#dcaeea">@params</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$s</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">ast</tspan><<tspan fill="#98c379">parameters</tspan>>; | |
</text><text x="0" y="2493.600000em" xml:space="preserve">                            <tspan fill="#c678dd">return</tspan> <tspan fill="#d19a66">0</tspan> <tspan fill="#c678dd">if</tspan> <tspan fill="#00b1f7">nqp::elems</tspan>(<tspan fill="#dcaeea">@params</tspan>) <tspan fill="#c7bf54">==</tspan> <tspan fill="#d19a66">0</tspan>; | |
</text><text x="0" y="2494.800000em" xml:space="preserve">                            <tspan fill="#c678dd">return</tspan> <tspan fill="#00b1f7">nqp::elems</tspan>(<tspan fill="#dcaeea">@params</tspan>) <tspan fill="#c7bf54">></tspan> <tspan fill="#d19a66">1</tspan> <tspan fill="#c7bf54">||</tspan> <tspan fill="#c7bf54">!</tspan><tspan fill="#dcaeea">@params</tspan><tspan fill="#c7bf54">[</tspan><tspan fill="#d19a66">0</tspan><tspan fill="#c7bf54">]</tspan><<tspan fill="#98c379">optional</tspan>>; | |
</text><text x="0" y="2496.000000em" xml:space="preserve">                        } | |
</text><text x="0" y="2497.200000em" xml:space="preserve">                        <tspan fill="#dcaeea" font-weight="bold">$*PACKAGE</tspan> <tspan fill="#c7bf54">:=</tspan> <tspan fill="#dcaeea">$package</tspan> <tspan fill="#76a9f9">:</tspan><tspan fill="#c7bf54">=</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">pkg_create_mo</tspan>(<tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">resolve_mo</tspan>(<tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">,</tspan> <tspan fill="#dcaeea" font-weight="bold">$*PKGDECL</tspan>)<tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="2498.400000em" xml:space="preserve">                            :<tspan fill="#98c379">name</tspan>(<tspan fill="#dcaeea">$fullname</tspan>)<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">ver</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*VER</tspan>)<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">api</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*API</tspan>)<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">auth</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*AUTH</tspan>)<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">repr</tspan>(<tspan fill="#dcaeea" font-weight="bold">$*REPR</tspan>)<tspan fill="#c7bf54">,</tspan> | |
</text><text x="0" y="2499.600000em" xml:space="preserve">                            :<tspan fill="#98c379">group</tspan>(<tspan fill="#dcaeea">$group</tspan>)<tspan fill="#c7bf54">,</tspan> :<tspan fill="#98c379">signatured</tspan>(<tspan fill="#00b1f7">needs_args</tspan>(<tspan fill="#dcaeea">$<signature></tspan>))); | |
</text><text x="0" y="2500.800000em" xml:space="preserve">                        <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">set_package</tspan>(<tspan fill="#dcaeea">$package</tspan>); | |
</text><text x="0" y="2502.000000em" xml:space="preserve">                    } | |
</text><text x="0" y="2503.200000em" xml:space="preserve">                } | |
</text><text x="0" y="2504.400000em" xml:space="preserve">                <tspan fill="#c678dd">else</tspan> { | |
</text><text x="0" y="2505.600000em" xml:space="preserve">                    <tspan fill="#8a93a5" font-style="italic"># Augment. Ensure we can.</tspan> | |
</text><text x="0" y="2506.800000em" xml:space="preserve">                    <tspan fill="#c678dd">if</tspan> <tspan fill="#c7bf54">!</tspan><tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">pragma</tspan>('<tspan fill="#98c379">MONKEY-TYPING</tspan>') <tspan fill="#c7bf54">&&</tspan> <tspan fill="#dcaeea">$longname</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">text</tspan> <tspan fill="#b756ff" font-weight="bold">ne</tspan> '<tspan fill="#98c379">Cool</tspan>' { | |
</text><text x="0" y="2508.000000em" xml:space="preserve">                        <tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b1f7">typed_panic</tspan>('<tspan fill="#98c379">X::Syntax::Augment::WithoutMonkeyTyping</tspan>'); | |
</text><text x="0" y="2509.200000em" xml:space="preserve">                    } | |
</text><text x="0" y="2510.400000em" xml:space="preserve">                    <tspan fill="#c678dd">elsif</tspan> <tspan fill="#c7bf54">!</tspan><tspan fill="#dcaeea">$longname</tspan> { | |
</text><text x="0" y="2511.600000em" xml:space="preserve">                        <tspan fill="#dcaeea" font-weight="bold">$*W</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#ef8383">throw</tspan>(<tspan fill="#dcaeea">$/</tspan><tspan fill="#c7bf54">,</tspan> '<tspan fill="#98c379">X::Anon::Augment</tspan>'<tspan fill="#c7bf54">,</tspan> <tspan fill="#98c379">package-kind</tspan> <tspan fill="#c7bf54">=></tspan> <tspan fill="#dcaeea" font-weight="bold">$*PKGDECL</tspan>); | |
</text><text x="0" y="2512.800000em" xml:space="preserve">                    } | |
</text><text x="0" y="2514.000000em" xml:space="preserve"> | |
</text><text x="0" y="2515.200000em" xml:space="preserve">                    <tspan fill="#c678dd">if</tspan> <tspan fill="#dcaeea">$longname</tspan><tspan fill="#c7bf54">.</tspan><tspan fill="#00b |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment