Files
l2/__pycache__/main.cpython-314.pyc

592 lines
144 KiB
Plaintext
Raw Normal View History

2025-12-11 20:07:10 +01:00
+
2025-12-14 00:38:19 +01:00
<00><>=i<> <00><01><>a<00>0t$Rt^RIHt^RIt^RIt^RIt^RIt^RIt^RI t ^RI
H t H t ^RI Ht^RIHtHtHtHtHtHtHtHtHtHt^RIHtHtHtHt!RR]4t !R R
]4t!] !R R 44t"!R R4t#!RR4t$] !RR]$44t%] !RR]$44t&] !RR]$44t'] !RR]$44t(] !RR]$44t)] !RR44t*] !RR44t+] !RR ]$44t,] !R!R"]$44t-] !R#R$]$44t.] !R%R&]$44t/] !R'R(]$44t0!R)R*4t1]]1.]]]$,,3,t2]R+.R3,t3] !R,R-44t4] !R.R/44t5]])]'3,t6!R0R14t7!R2R34t8] !R4R544t9!R6R+4t:R7R8lt;R9R:lt<R;R<lt=!R=R>4t>!R?R@4t?RARBlt@RCRDltARERFltBRGRHltCRIRJltDRKRLltE!RMRN4tFRORPltGRQRRltHRSRTltIRURVltJRWRXltKRYRZltLR[R\ltMR]R^ltNR_R`ltORaRbltPRcRdltQReRfltRRgRhltSRiRjltTRkRlltURmRnltVRoRpltWRqRrltXRsRtltYRuRvltZRwRxlt[RyRzlt\R{R|lt]R}R~lt^RR<>lt_R<5F>R<>lt`R<>R<>ltaR<61>R<>ltbR<62>R<>ltcR<63>R<>ltdR<64>R<>lteR<65>R<>ltfR<66>R<>ltgR<67>R<>lthR<68>R<>ltiR<69>R<>ltjR<6A>R<>ltkR<6B>R<>ltlR<6C>R<>ltmR<6D>R<>ltnR<6E>R<>ltoR<6F>R<>ltpR<70>R<>ltqR<71>R<>ltrR<72>R<>ltsR<73>R<>lttR<74>R<>ltuR<75>R<>ltvR<76>R<>ltwR<77>R<>ltxR<78>R<>ltyR<79>R<>ltzR<7A>R<>lt{R<>R<>lt|R*]1R ]"R]&R]%R ],R"]-R$].R&]/R(]0R]+R]'R])R] R<>]ER<45>]</t}R<>]~R<>&R<>R<>ltR<7F>R<>lt<>R<EFBFBD>R<>lt<>!R<>R<>4t<>R<EFBFBD>R<>lt<>R<EFBFBD>R<>lt<>R<EFBFBD>R<>lt<>R<EFBFBD>R<>lt<>]<5D>R<EFBFBD>8Xd
]<5D>!4R#R# ]d Rt]tR;ttEL<>i;i)<29>acBootstrap compiler for the L2 language.
2025-12-11 20:07:10 +01:00
This file now contains working scaffolding for:
* Parsing definitions, literals, and ordinary word references.
* Respecting immediate/macro words so syntax can be rewritten on the fly.
* Emitting NASM-compatible x86-64 assembly with explicit data and return stacks.
* Driving the toolchain via ``nasm`` + ``ld``.
)<01> annotationsN)<02> dataclass<73>field)<01>Path)
2025-12-14 00:38:19 +01:00
<EFBFBD>Any<6E>Callable<6C>Dict<63>Iterable<6C>List<73>Optional<61>Sequence<63>Set<65>Union<6F>Tuple)<04>Ks<4B>KsError<6F> KS_ARCH_X86<38>
KS_MODE_64c<01><00>]tRt^tRtRtR#)<04>
2025-12-11 20:07:10 +01:00
ParseErrorz/Raised when the source stream cannot be parsed.<2E>N<><06>__name__<5F>
2025-12-14 00:38:19 +01:00
__module__<EFBFBD> __qualname__<5F>__firstlineno__<5F>__doc__<5F>__static_attributes__r<00><00>4/home/igor/programming/IgorCielniak/langs/l2/main.pyrrs<00><00>6rrc<01><00>]tRt^#tRtRtR#)<04> CompileErrorz.Raised when IR cannot be turned into assembly.rNrrrrr!r!#s<00><00>5rr!c<01>V<00>]tRt^,t$R]R&R]R&R]R&R]R&R]R&RR ltR
tR #) <0C>Token<65>str<74>lexeme<6D>int<6E>line<6E>column<6D>start<72>endc<01><00>V^8<>dQhRR/#<00><03><00>returnr$r)<01>formats"r<00> __annotate__<5F>Token.__annotate__4s<00><00>=<3D>=<3D>s<EFBFBD>=rc <09>X<00>RVP: RVP RVP R2#)zToken(<28>@<40>:<3A>))r%r'r(<00><01>selfs&r<00>__repr__<5F>Token.__repr__4s)<00><00> <11>$<24>+<2B>+<2B><1F><01>$<24>)<29>)<29><1B>A<EFBFBD>d<EFBFBD>k<EFBFBD>k<EFBFBD>]<5D>!<21> <<3C><rrN)rrrr<00>__annotations__r8rrrrr#r#,s%<00><00> <0C><1B>
<EFBFBD><19> <0C><1B> <0B><1A> <09><18>=<3D>=rr#c<01>J<00>]tRt^8tRtRRltRRltRRltRR ltR
t R #) <0C>Readerz:Default reader; users can swap implementations at runtime.c<01><00>V^8<>dQhRR/#<00>r-r.<00>Noner)r/s"rr0<00>Reader.__annotate__;s<00><00>S<01>S<01>t<EFBFBD>Src <09>v<00>^Vn^Vn0RmVn\VP\RR7VnR#)<05>T<><02>key<65>reverseN><00>(r5<00>,<2C>;<3B>[<5B>]<5D>{<7B>})r'r(<00> custom_tokens<6E>sorted<65>len<65> _token_orderr6s&r<00>__init__<5F>Reader.__init__;s/<00><00><0F>$<24>)<29><11>$<24>+<2B>!I<>$<24><14>!'<27><04>(:<3A>(:<3A><03>T<EFBFBD>!R<>$<24>rc<01> <00>V^8<>dQhRRRR/#)r-<00>tokensz Iterable[str]r.r?r)r/s"rr0r@As<00><00> I<01> I<01>m<EFBFBD> I<01><04> Irc <09><><00>RpVF<pV'gK W0P9gKVPPV4RpK> V'd$\VP\RR7VnR#R#)FTrCN)rM<00>addrNrOrP)r7rT<00>updated<65>toks&& r<00>
add_tokens<EFBFBD>Reader.add_tokensAs]<00><00> <11>'<27> <13>c<EFBFBD>
<0A> <0C> <09>#<23>#<23>#<23><08><16><16><1A><1A>3<EFBFBD><1F><12>G<EFBFBD> <14>  <0A><1D>d<EFBFBD>0<>0<>c<EFBFBD>4<EFBFBD>H<>4<EFBFBD><14> rc<01> <00>V^8<>dQhRRRR/#)r-<00>charsr$r.r?r)r/s"rr0r@Ls<00><00><19><19>#<23><19>$<24>rc <09>(<00>VPV4R#<00>N)rY)r7r\s&&r<00>add_token_chars<72>Reader.add_token_charsLs<00><00><06>/<2F>/<2F>%<25>rc<01> <00>V^8<>dQhRRRR/#)r-<00>sourcer$r.<00>Iterable[Token]r)r/s"rr0r@Os"<00><00>fS<01>fS<01>C<EFBFBD>fS<01>O<EFBFBD>fSrc
2025-12-11 20:07:10 +01:00
# <09><> "<00>^Vn^Vn^p.p^p^p^p\V4pW'8EdnW,pVR8XEd<>V'dI\RP V4WVWB4x<00>VP 4TpVPpVPpV^, pV;P^, unR.p W'8<>d \ R4hW,p
V PV
4V^, pV
R8Xd"V;P^, un^VnMV;P^, unV
R8XdwW'8<>d \ R4hW,p V PV 4V^, pV R8Xd"V;P^, un^VnMV;P^, unK<>V
2025-12-14 00:38:19 +01:00
R8XgK<>\RP V 4WVWB4x<00>EK<>VR8Xd"W'8dW,R8wd V^, pKEK<>VR8Xd<>V^,V8d|W^,,P4'dYV'gTpVPpVPpVPR4V^, pV;P^, unEKaRp VPFp VPW<>4'gKT p M V e<>V'dI\RP V4WVWB4x<00>VP 4TpVPpVPp\W<>PVPW"\V 4,4x<00>V\V 4, pV;P\V 4, unTpVPpVPpEKiVP4'd<>V'd/\RP V4WVWB4x<00>VP 4VR8Xd"V;P^, un^VnMV;P^, unV^, pTpVPpVPpEKV'gTpVPpVPpVPV4V;P^, unV^, pEKtV'd!\RP V4WVWG4x<00>R#R#5i) rB<00>"<22>zunterminated string literal<61>
<EFBFBD>\<5C>#rHN) r'r(rOr#<00>join<69>clearr<00>append<6E>isalpharP<00>
startswith<EFBFBD>isspace)r7rb<00>indexr%<00> token_start<72>
2025-12-11 20:07:10 +01:00
token_line<EFBFBD> token_column<6D>
2025-12-14 00:38:19 +01:00
source_len<EFBFBD>char<61> string_parts<74>ch<63>next_ch<63> matched_tokenrXs&& r<00>tokenize<7A>Reader.tokenizeOs<><00><00><00><0F>$<24>)<29><11>$<24>+<2B>
2025-12-11 20:07:10 +01:00
<0B>%<25><18>&<26><11>+<2B><10>*<2A><12>,<2C><12>6<EFBFBD>{<7B>*<2A> <0A><1A>
<10>-<2D>4<EFBFBD>
<EFBFBD>c<EFBFBD>k<EFBFBD> <0A> <10><12><17><17><16><1F>*<2A>K<EFBFBD> O<>O<> <0B>\<5C>\<5C>^<5E><18>[<5B><16>)<29>)<29>Z<EFBFBD><18>K<EFBFBD>K<EFBFBD>\<5C> <09>Q<EFBFBD>J<EFBFBD>E<EFBFBD><08>K<EFBFBD>K<EFBFBD>1<EFBFBD><14>K<EFBFBD><17>5<EFBFBD>L<EFBFBD>
<0E> <0A><1B> <16>4<> 5<>5<>
<10>-<2D>R<EFBFBD><11><18><18><12><1C>
<EFBFBD>a<EFBFBD>Z<EFBFBD>U<EFBFBD>
<EFBFBD>d<EFBFBD>
<EFBFBD>
<EFBFBD>i<EFBFBD>i<EFBFBD>1<EFBFBD>n<EFBFBD>i<EFBFBD><15>d<EFBFBD>k<EFBFBD>
<EFBFBD>k<EFBFBD>k<EFBFBD>Q<EFBFBD><16>k<EFBFBD>
<EFBFBD>d<EFBFBD>
<EFBFBD> <0E> <1C> <17>5<> 6<>6<><16> <0A>g<EFBFBD><12><19><19>'<27>"<22> <0B>q<EFBFBD>j<EFBFBD>e<EFBFBD> <10>D<EFBFBD><1F> <0B>y<EFBFBD>y<EFBFBD>A<EFBFBD>~<7E>y<EFBFBD><16>t<EFBFBD>{<7B> <0B>{<7B>{<7B>a<EFBFBD><17>{<7B><0E>
<EFBFBD>c<EFBFBD> <09> <11>"<22>'<27>'<27>,<2C>'<27><1A>;<3B> V<>V<> <0B> <0C>
<EFBFBD>c<EFBFBD>k<EFBFBD>
<0F>
<1C><16><1D>$<24>!6<>
<EFBFBD>a<EFBFBD>Z<EFBFBD>U<EFBFBD> <0C>
<EFBFBD>c<EFBFBD>k<EFBFBD>e<EFBFBD>a<EFBFBD>i<EFBFBD>*<2A>,<2C><16><01> <09>1B<31>1J<31>1J<31>1L<31>1L<31> <11><18>[<5B><16>)<29>)<29>Z<EFBFBD><18>K<EFBFBD>K<EFBFBD>\<5C>
<EFBFBD>M<EFBFBD>M<EFBFBD>#<23><16> <09>Q<EFBFBD>J<EFBFBD>E<EFBFBD><08>K<EFBFBD>K<EFBFBD>1<EFBFBD><14>K<EFBFBD> <0C>"&<26>=<3D><12><1F><1F>s<EFBFBD> <0A><18><18><13>$<24>$<24><18>]<5D>
<EFBFBD> <20><14><1F> <0A> <10><12><17><17><16><1F>*<2A>K<EFBFBD> O<>O<> <0B>\<5C>\<5C>^<5E><18>[<5B><16>)<29>)<29>Z<EFBFBD><18>K<EFBFBD>K<EFBFBD>\<5C>
<0F> <0A>y<EFBFBD>y<EFBFBD>$<24>+<2B>+<2B>u<EFBFBD>c<EFBFBD>-<2D>FX<46>>X<>
Y<EFBFBD>Y<> <09>S<EFBFBD><1D> <1F><1F>E<EFBFBD><08>K<EFBFBD>K<EFBFBD>3<EFBFBD>}<7D>%<25>%<25>K<EFBFBD><17>K<EFBFBD><15><19><19>J<EFBFBD><17>;<3B>;<3B>L<EFBFBD> <0C>
<EFBFBD>l<EFBFBD>l<EFBFBD>n<EFBFBD>n<EFBFBD> <0A> <10><12><17><17><16><1F>*<2A>K<EFBFBD> O<>O<> <0B>\<5C>\<5C>^<5E> <0B>t<EFBFBD>|<7C> <09>Y<EFBFBD>Y<EFBFBD>!<21>^<5E>Y<EFBFBD><14>T<EFBFBD>[<5B> <09>[<5B>[<5B>A<EFBFBD><15>[<5B> <09>Q<EFBFBD>J<EFBFBD>E<EFBFBD><17>K<EFBFBD><15><19><19>J<EFBFBD><17>;<3B>;<3B>L<EFBFBD> <0C>
<10><17>K<EFBFBD><15><19><19>J<EFBFBD><17>;<3B>;<3B>L<EFBFBD> <09>=<3D>=<3D><14><16><07>;<3B>;<3B>!<21><13>;<3B><08>A<EFBFBD>:<3A>5<EFBFBD> <0B> <0E>r<EFBFBD>w<EFBFBD>w<EFBFBD>v<EFBFBD><EFBFBD>
<EFBFBD>+<2B> R<>R<> <0C>sB<00>AS<01>E#S<01>-B S<01>7A5S<01>1S<01>C!S<01>%S<01>-BS<01>
2025-12-14 00:38:19 +01:00
AS<01>""S)rPr(rMr'N)
rrrrrrQrYr_rzrrrrr<r<8s$<00><00>A<>S<01> I<01><19>fS<01>fSrr<c<01><00>]tRt^<5E>tRtRtR#)<04>ASTNodezBase class for all AST nodes.rNrrrrr}r}<00>s<00><00>$rr}c<01>"<00>]tRt^<5E>t$R]R&RtR#)<05>WordRefr$<00>namerN<>rrrrr:rrrrrr<00><00><00><00>
<EFBFBD>rrc<01>"<00>]tRt^<5E>t$R]R&RtR#)<05>Literalr<00>valuerNr<4E>rrrr<>r<><00>s<00><00> <0B>rr<>c<01>H<00>]tRt^<5E>t$R]R&R]R&RtR]R&RtR]R&R tR
2025-12-11 20:07:10 +01:00
#) <0B>
2025-12-14 00:38:19 +01:00
Definitionr$r<><00> List[ASTNode]<5D>bodyF<79>bool<6F> immediate<74> compile_onlyrN<>rrrrr:r<>r<>rrrrr<>r<><00>s!<00><00>
<EFBFBD><19><14><14><18><19>D<EFBFBD><18><1B><1C>t<EFBFBD>rr<>c<01>H<00>]tRt^<5E>t$R]R&R]R&RtR]R&RtR]R&RtR #)
<EFBFBD> AsmDefinitionr$r<>r<>Fr<46>r<>r<>rNr<4E>rrrr<>r<><00>s <00><00>
2025-12-11 20:07:10 +01:00
<EFBFBD><19>
2025-12-14 00:38:19 +01:00
<EFBFBD><19><18><19>D<EFBFBD><18><1B><1C>t<EFBFBD>rr<>c<01>"<00>]tRt^<5E>t$R]R&RtR#)<05>Moduler<65><00>formsrNr<4E>rrrr<>r<><00>s<00><00><15>rr<>c<01>:<00>]tRt^<5E>t$R]R&R]R&^tR]R&RtR#) <09>MacroDefinitionr$r<><00> List[str]rTr&<00> param_countrN)rrrrr:r<>rrrrr<>r<><00>s<00><00>
<EFBFBD><19> <12><12><15><1B>c<EFBFBD>rr<>c<01>6<00>]tRt^<5E>t$R]R&R]R&R]R&RtR#)<08> StructFieldr$r<>r&<00>offset<65>sizerNr<4E>rrrr<>r<><00>s<00><00>
2025-12-11 20:07:10 +01:00
<EFBFBD><19> <0C><1B>
2025-12-14 00:38:19 +01:00
<EFBFBD>rr<>c<01>"<00>]tRt^<5E>t$R]R&RtR#)<05>
BranchZeror$<00>targetrNr<4E>rrrr<>r<><00><00><00><00> <0C>rr<>c<01>"<00>]tRt^<5E>t$R]R&RtR#)<05>Jumpr$r<>rNr<4E>rrrr<>r<><00>r<>rr<>c<01>"<00>]tRt^<5E>t$R]R&RtR#)<05>Labelr$r<>rNr<4E>rrrr<>r<><00>r<>rr<>c<01>,<00>]tRt^<5E>t$R]R&R]R&RtR#)<06>ForBeginr$<00>
loop_label<EFBFBD> end_labelrNr<4E>rrrr<>r<><00><00> <00><00> <10><1F> <0F>rr<>c<01>,<00>]tRtRt$R]R&R]R&RtR#)<07>ForNextir$r<>r<>rNr<4E>rrrr<>r<>r<>rr<>c<01><><00>]tRtRtRtRRlt]RRl4tRRltR R
2025-12-11 20:07:10 +01:00
lt R R lt
2025-12-14 00:38:19 +01:00
R Rlt RRlt RRRllt RRltRRltRRltRRltRtR#)<1E> MacroContexti z.Small facade exposed to Python-defined macros.c<01> <00>V^8<>dQhRRRR/#)r-<00>parser<65>'Parser'r.r?r)r/s"rr0<00>MacroContext.__annotate__ s<00><00><18><18>H<EFBFBD><18><14>rc <09><00>WnR#r^<00><01>_parser<65>r7r<>s&&rrQ<00>MacroContext.__init__ s<00><00><17>,rc<01><00>V^8<>dQhRR/#)r-r.r<>r)r/s"rr0r<>s<00><00><16><16>X<EFBFBD>rc <09><00>VP#r^r<>r6s&rr<><00>MacroContext.parsers <00><00> <0A><1C><1C>rc<01><00>V^8<>dQhRR/#<00>r-r.r#r)r/s"rr0r<>s<00><00>#<23>#<23><15>#rc <09>6<00>VPP4#r^)r<><00>
next_tokenr6s&rr<><00>MacroContext.next_token<00><00><00> <0A><1C><1C> <20> <20> "<22>"rc<01><00>V^8<>dQhRR/#<00>r-r.<00>Optional[Token]r)r/s"rr0r<>s<00><00>#<23>#<23><1F>#rc <09>6<00>VPP4#r^)r<><00>
peek_tokenr6s&rr<><00>MacroContext.peek_tokenr<>rc<01> <00>V^8<>dQhRRRR/#<00>r-r<>r&r.r?r)r/s"rr0r<>s<00><00>/<2F>/<2F>s<EFBFBD>/<2F>t<EFBFBD>/rc <09>P<00>VPP\VR74R#)<02>r<>N)r<><00> emit_noder<65><00>r7r<>s&&r<00> emit_literal<61>MacroContext.emit_literals<00><00><06>,<2C>,<2C><18><18><17>u<EFBFBD>-<2D>.rc<01> <00>V^8<>dQhRRRR/#<00>r-r<>r$r.r?r)r/s"rr0r<>s<00><00>-<2D>-<2D>3<EFBFBD>-<2D>4<EFBFBD>-rc <09>P<00>VPP\VR74R#)<02>r<>N)r<>r<>r<00>r7r<>s&&r<00> emit_word<72>MacroContext.emit_words<00><00><06>,<2C>,<2C><18><18><17>d<EFBFBD>+<2B>,rc<01> <00>V^8<>dQhRRRR/#<00>r-<00>noder}r.r?r)r/s"rr0r<>s<00><00><1F><1F>7<EFBFBD><1F>t<EFBFBD>rc <09><<00>VPPV4R#r^)r<>r<><00>r7r<>s&&rr<><00>MacroContext.emit_nodes<00><00><06>,<2C>,<2C><18><18><14>rNc<01>$<00>V^8<>dQhRRRRRR/#)r-rT<00> Sequence[str]<5D>templater<65>r.r?r)r/s"rr0r<>"s"<00><00> '<27> '<27><1D> '<27>/<2F> '<27>UY<55> 'rc  <09><><00>Vf\R^^^^R7pVUu.uF;p\VVPVPVPVPR7NK= ppVP V4R#uupi)Nrf<00>r%r'r(r)r*)r#r'r(r)r*<00>inject_token_objects)r7rTr<><00>lex<65> generateds&&& r<00> inject_tokens<6E>MacroContext.inject_tokens"sy<00><00> <0A><15><13>2<EFBFBD>A<EFBFBD>a<EFBFBD>q<EFBFBD>a<EFBFBD>@<40>8<EFBFBD><15> <04><15>s<EFBFBD> <09> <0E> <11><1D><1D> <13>?<3F>?<3F>
<12>.<2E>.<2E><10> <0C> <0C> <05><15> <0C> <04><07><1B><1B>I<EFBFBD>&<26><> s<00>AA/c<01> <00>V^8<>dQhRRRR/#<00>r-rTzSequence[Token]r.r?r)r/s"rr0r<>1s<00><00>H<01>H<01><0F>H<01>D<EFBFBD>Hrc <09><><00>\V4VPPVPPVPP%R#r^)<04>listr<74>rT<00>pos<6F>r7rTs&&rr<><00>!MacroContext.inject_token_objects1s0<00><00>;?<3F><06><<3C>$<24>,<2C>,<2C><15><15>d<EFBFBD>l<EFBFBD>l<EFBFBD>&<26>&<26>t<EFBFBD>|<7C>|<7C>'7<>'7<>8rc<01> <00>V^8<>dQhRRRR/#)r-<00>handler<65> Optional[str]r.r?r)r/s"rr0r<>4s<00><00>$<24>$<24>=<3D>$<24>T<EFBFBD>$rc <09>&<00>WPnR#r^)r<><00>
token_hook)r7r<>s&&r<00>set_token_hook<6F>MacroContext.set_token_hook4s <00><00>#<23>,<2C>,<2C>rc<01> <00>V^8<>dQhRRRR/#<00>r-<00>prefixr$r.r)r/s"rr0r<>7s<00><00>)<29>)<29>S<EFBFBD>)<29>S<EFBFBD>)rc <09>8<00>VPPV4#r^)r<><00>
_new_label)r7r<>s&&r<00> new_label<65>MacroContext.new_label7s<00><00> <0A><1C><1C> <20> <20><16> (<28>(rc<01><00>V^8<>dQhRR/#<00>r-r.<00>Optional[Word]r)r/s"rr0r<>:s<00><00>/<2F>/<2F>^<5E>/rc <09>6<00>VPP4#r^)r<><00>most_recent_definitionr6s&rr<><00>#MacroContext.most_recent_definition:s<00><00> <0A><1C><1C> ,<2C> ,<2C> .<2E>.rr<>r^)rrrrrrQ<00>propertyr<79>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rrrrr<>r<> sV<00><00>5<><18> <0B><16> <0B><16>#<23>#<23>/<2F>-<2D><1F> '<27>H<01>$<24>)<29>/<2F>/rr<><00>FunctionEmitterc<01><><00>]tRtRt$R]R&RtR]R&RtR]R&R tR
2025-12-11 20:07:10 +01:00
]R &R tR ]R &R t R]R&R t
2025-12-14 00:38:19 +01:00
R]R&^t R]R&R t R]R&Rt R]R&RtR]R&RtR #)<19>WordiBr$r<>Fr<46>r<>z( -- )<29> stack_effectNz*Optional[Union[Definition, AsmDefinition]]<5D>
definitionzOptional[MacroHandler]<5D>macrozOptional[IntrinsicEmitter]<5D> intrinsiczOptional[List[str]]<5D>macro_expansionr&<00> macro_paramsz+Optional[Callable[['CompileTimeVM'], None]]<5D>compile_time_intrinsicr<63><00>compile_time_overrider)rrrrr:r<>rrrrrrrr<>r rrrrrrBsr<00><00>
<EFBFBD><19><18><19>D<EFBFBD><18><1D><1C>s<EFBFBD><1D>:><3E><1A> 7<>><3E>!%<25><15><1E>%<25>)-<2D><19> &<26>-<2D>(,<2C><1F>%<25>,<2C><16><1C>s<EFBFBD><16>GK<47><17>D<>K<><1B><1C>t<EFBFBD><1B>$<24><16><04>$rrc<01>L<00>]tRtRt$]!]R7tR]R&RRltRRlt R t
2025-12-11 20:07:10 +01:00
R
#) <0B>
2025-12-14 00:38:19 +01:00
DictionaryiQ<00><01>default_factoryzDict[str, Word]<5D>wordsc<01> <00>V^8<>dQhRRRR/#<00>r-<00>wordrr.r?r)r/s"rr0<00>Dictionary.__annotate__Us<00><00><1F><1F>$<24><1F>4<EFBFBD>rc <09><><00>VPVP9d.\PP RVP R24WPVP&R#)z[warn] redefining word rgN)r<>r<00>sys<79>stderr<72>write<74>r7rs&&r<00>register<65>Dictionary.registerUsB<00><00> <09>Y<EFBFBD>Y<EFBFBD>$<24>*<2A>*<2A><1C><06>:<3A>:<3A><13><13>-<2D>d<EFBFBD>i<EFBFBD>i<EFBFBD>[<5B><02>;<3B><<3C><1E>*<2A>*<2A>T<EFBFBD>Y<EFBFBD>Y<EFBFBD>rc<01> <00>V^8<>dQhRRRR/#)r-r<>r$r.r<>r)r/s"rr0rZs<00><00><1E><1E><03><1E><0E>rc <09>8<00>VPPV4#r^)r<00>getr<74>s&&r<00>lookup<75>Dictionary.lookupZs<00><00> <0A><1A><1A><1E><1E><04> <1D>rrN) rrrrr<00>dictrr:rrrrrrr r Qs <00><00><1F><04>5<><15><0F>5<><1F>
<1E>rr c<01><><00>]tRtRtRHRRlltRRltRRltR R
2025-12-11 20:07:10 +01:00
ltR R ltR Rlt RRlt
2025-12-14 00:38:19 +01:00
RRlt RRlt RRlt RRltRRltRRltRRltRR ltR!R"ltR#R$ltR%R&ltR'R(ltR)R*ltR+R,ltR-R.ltR/R0ltR1R2ltR3R4ltR5R6ltR7R8ltR9R:ltR;R<lt R=R>lt!R?R@lt"RARBlt#RCRDlt$RERFlt%RGt&R#)I<>ParserifNc<01>$<00>V^8<>dQhRRRRRR/#)r-<00>
dictionaryr <00>readerzOptional[Reader]r.r?r)r/s"rr0<00>Parser.__annotate__gs#<00><00>-<2D>-<2D>
<EFBFBD>-<2D>4D<34>-<2D>PT<50>-rc <09><00>WnT;'g \4Vn.VnRVnRVn^Vn.Vn.VnRVn RVn
RVn .Vn ^Vn RVnRVn\!V4VnR#)NTrf)r#r<r$rT<00> _token_iter<65>_token_iter_exhaustedr<64><00> context_stack<63>definition_stack<63> last_definedrb<00>macro_recording<6E> control_stack<63> label_counterr<72><00> _last_token<65> CompileTimeVM<56>compile_time_vm)r7r#r$s&&&rrQ<00>Parser.__init__gs<><00><00><1E>/<2F><16>"<22>"<22>&<26>(<28>$<24>+<2B><1F>$<24>+<2B>04<30>$<24><12>#<23>$<24><1C> <0E>$<24>(<28>&(<28>$<24><14>&(<28>$<24><17>&*<2A>$<24><13><17>$<24>+<2B>48<34>$<24><16>-/<2F>$<24><14><18>$<24><14>#'<27>$<24>/<2F>&*<2A>$<24><12>&<26>t<EFBFBD>,<2C>$<24>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r%ys<00><00>0<>0<><0F>0<>D<EFBFBD>0rc <0A>^<00>\V4VPVPVP%R#)z,Insert tokens at the current parse position.N)r<>rTr<>r<>s&&rr<><00>Parser.inject_token_objectsys<00><00>#'<27><06><<3C>$<24>+<2B>+<2B>d<EFBFBD>h<EFBFBD>h<EFBFBD>t<EFBFBD>x<EFBFBD>x<EFBFBD> rc<01><00>V^8<>dQhRR/#r<>r)r/s"rr0r%~s<00><00><19><19><15>rc <09>"<00>VP4#r^)<01>_consumer6s&rr<><00>Parser.next_token~s<00><00> <0A><1D><1D><1F>rc<01><00>V^8<>dQhRR/#r<>r)r/s"rr0r%<00>s<00><00>8<>8<><1F>8rc <09><><00>VPVP4VP4'dR#VPVP,#r^)<04>_ensure_tokensr<73><00>_eofrTr6s&rr<><00>Parser.peek_token<65>s6<00><00><06><15><15>d<EFBFBD>h<EFBFBD>h<EFBFBD><1F><15><19><19><1B><1B><14>7<>$<24>+<2B>+<2B>d<EFBFBD>h<EFBFBD>h<EFBFBD>"7<>7rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r%<00>s<00><00><1A><1A>7<EFBFBD><1A>t<EFBFBD>rc <09>(<00>VPV4R#r^)<01> _append_noder<65>s&&rr<><00>Parser.emit_node<64>s<00><00><06><13><13>D<EFBFBD>rc<01><00>V^8<>dQhRR/#r<>r)r/s"rr0r%<00>s<00><00><1B><1B>^<5E>rc <09><00>VP#r^)r+r6s&rr<><00>Parser.most_recent_definition<6F>s<00><00> <0A> <1A> <1A>rc<01>$<00>V^8<>dQhRRRRRR/#)r-rTrcrbr$r.r<>r)r/s"rr0r%<00>s!<00><00>=<10>=<10><1F>=<10>#<23>=<10>&<26>=rc <09><><00>.Vn\V4VnRVnW n^Vn\ .R7.VnVPP4RVn
2025-12-11 20:07:10 +01:00
.Vn ^Vn RVn RVnVP4'EglVP!4pW0nVP#V4'dKFVP%V4'dK_VP&pVR8XdVP)V4K<>VR8XdVP+V4K<>VR8XdVP-V4K<>VR8XdVP/V4K<>VR8XdVP14K<>VR8XdVP34EKVR 8XdVP54EK VR
2025-12-14 00:38:19 +01:00
8XdVP74EK:VR 8XdVP94EKTVP;V4'dEKnVP=V4EK<>\?VP4^8wd \AR 4hVP'd \AR 4hVPPC4p\EV\ 4'g \AR4hV#)F)r<>Nr4rHz:asmz:py<70>if<69>else<73>then<65>for<6F>nextzunclosed definition at EOFz!unclosed control structure at EOFzinternal parser state corrupt)#rT<00>iterr'r(rbr<>r<>r)r*rkr+r-r.r<>r/r=r8<00>_run_token_hook<6F>_handle_macro_recordingr%<00>_begin_definition<6F>_end_definition<6F>_parse_asm_definition<6F>_parse_py_definition<6F>_handle_if_control<6F>_handle_else_control<6F>_handle_then_control<6F>_handle_for_control<6F>_handle_next_control<6F>_maybe_expand_macro<72> _handle_tokenrOr<00>pop<6F>
isinstance)r7rTrb<00>tokenr%<00>modules&&& r<00>parse<73> Parser.parse<73>s<00><00><12>$<24>+<2B><19>&<26>\<5C>$<24><12>$<24>$<24><1C><16>+<2B> <0E>$<24>(<28><1E>R<EFBFBD>(<28>)<29>$<24><14><06><17><17><1D><1D><1F><1A>$<24><13><19>$<24><14><18>$<24><14><18>$<24>/<2F><19>$<24><12> <10>I<EFBFBD>I<EFBFBD>K<EFBFBD>K<EFBFBD> <0F>=<3D>=<3D>?<3F>5<EFBFBD><1B><13>
2025-12-11 20:07:10 +01:00
<EFBFBD><1A><1A>5<EFBFBD>!<21>!<21> <0C>
<EFBFBD>"<22>"<22>5<EFBFBD>)<29>)<29> <0C> <11>L<EFBFBD>L<EFBFBD>6<EFBFBD> <0C><03>m<EFBFBD><08><1A><1A>5<EFBFBD>!<21> <0C> <0C><03>m<EFBFBD><08><18><18><15><1F> <0C> <0C><06><16><08><1E><1E>u<EFBFBD>%<25> <0C> <0C><05>o<EFBFBD><08><1D><1D>e<EFBFBD>$<24> <0C> <0C><04>n<EFBFBD><08><1B><1B><1D> <0C> <0C><06><16><08><1D><1D><1F> <0C> <0C><06><16><08><1D><1D><1F> <0C> <0C><05>o<EFBFBD><08><1C><1C><1E> <0C> <0C><06><16><08><1D><1D><1F> <0C>
2025-12-14 00:38:19 +01:00
<EFBFBD><1E><1E>u<EFBFBD>%<25>%<25> <0C><07><15><15>e<EFBFBD><1C><08><14> <1B> <1B><1C><01>!<21> <13>0<> 1<>1<> <09><17><17><17> <13>7<> 8<>8<> <0F> <1D> <1D> !<21> !<21> #<23>&<26> <13>F<EFBFBD>F<EFBFBD> #<23> #<23> <13>3<> 4<>4<> <0F>-rc<01> <00>V^8<>dQhRRRR/#<00>r-r]r#r.r?r)r/s"rr0r%<00>s<00><00>0<>0<><05>0<>$<24>0rc <09><><00>VPV4'dR#VPPVP4pV'dvVP'ddVP
'd?VP \ V44pV'dVFpVPV4K R#VPV4R#VP\VPR74R#)Nr<4E>)
<EFBFBD> _try_literalr#rr%r<>rr<>rA<00>_execute_immediate_wordr)r7r]r<00>producedr<64>s&& rrZ<00>Parser._handle_token<65>s<><00><00> <09><16><16>u<EFBFBD><1D><1D> <09> <0A><1F><1F> <1F> <1F><05> <0C> <0C> -<2D>$<24> <09>d<EFBFBD>n<EFBFBD>n<EFBFBD>n<EFBFBD>
2025-12-11 20:07:10 +01:00
<EFBFBD>j<EFBFBD>j<EFBFBD>j<EFBFBD><13>z<EFBFBD>z<EFBFBD>,<2C>t<EFBFBD>,<2C>-<2D>H<EFBFBD><0F><19><14>
<EFBFBD><17><17><04><1D><1A>
2025-12-14 00:38:19 +01:00
<EFBFBD> <09> <20> <20><14>&<26> <09><06><13><13>G<EFBFBD><15><1C><1C>.<2E>/rc<01> <00>V^8<>dQhRRRR/#rr)r/s"rr0r%<00>s<00><00>O<01>O<01><14>O<01>$<24>Orc <09><><00>VPPV4R# \dh\d"p\RTP RT 24ThRp?ii;i)zcompile-time word 'z
' failed: N)r1<00>invoker<00> Exceptionr<6E>)r7r<00>excs&& rre<00>Parser._execute_immediate_word<72>sX<00><00>O<01><07><17><17><1E><1E>t<EFBFBD>$<24><> <13> <09><08> <12>O<01> <13>)<29>$<24>)<29>)<29><1B>J<EFBFBD>s<EFBFBD>e<EFBFBD>D<> E<>3<EFBFBD>N<><4E>O<01>s<00><00>A<03>A<03>A<03>Ac<01> <00>V^8<>dQhRRRR/#<00>r-r]r#r.r<>r)r/s"rr0r%<00>s<00><00><0E><0E>%<25><0E>D<EFBFBD>rc <09><><00>VPfR#VPR8XdVPV4R#VPPP VP4R#)NF<4E>;macroT)r,r%<00>_finish_macro_recordingrTrl<00>r7r]s&&rrO<00>Parser._handle_macro_recording<6E>sS<00><00> <09><19><19>!<21>
2025-12-11 20:07:10 +01:00
<0F>
<EFBFBD>\<5C>\<5C>X<EFBFBD><1D><07><1F><1F><05>&<26>
2025-12-14 00:38:19 +01:00
<0E><08><17><17><1E><1E>%<25>%<25>e<EFBFBD>l<EFBFBD>l<EFBFBD>3<> rc<01> <00>V^8<>dQhRRRR/#ror)r/s"rr0r%<00>s<00><00><0F><0F>e<EFBFBD><0F><04>rc <09><><00>VPPVP4pV'd>VPe0VP VP
4pVP W!V4R#R#)NTF)r#rr%r<00>_collect_macro_argsr<00>_inject_macro_tokens)r7r]r<00>argss&& rrY<00>Parser._maybe_expand_macro<72>sT<00><00> <0A><1F><1F> <1F> <1F><05> <0C> <0C> -<2D>$<24> <09>d<EFBFBD>"<22>"<22>.<2E>
2025-12-11 20:07:10 +01:00
<0E>
"<22>
"<22>4<EFBFBD>#4<>#4<>
5<EFBFBD>4<EFBFBD><07><1C><1C>T<EFBFBD>$<24>/<2F>
2025-12-14 00:38:19 +01:00
<0E> rc<01>(<00>V^8<>dQhRRRRRRRR/#) r-rrr]r#ryr<>r.r?r)r/s"rr0r%<00>s(<00><00>-<2D>-<2D>d<EFBFBD>-<2D>5<EFBFBD>-<2D> <09>-<2D>d<EFBFBD>-rc  <09>6<00>.pVP;'g.F<>pVPR4'de\VR,4^,
2025-12-11 20:07:10 +01:00
pV^8gV\V48<>d\ RVP
2025-12-14 00:38:19 +01:00
RV 24hVP W6,4K~VP V4K<> VUu.uF:p\WRPVPVPVPR7NK< ppWpPVPVP%R#uupi)<06>$<24>rBNNzmacro z missing argument for r<>N)rrnr&rOrr<>rlr#r'r(r)r*rTr<>)r7rr]ry<00>replacedr<64><00>idx<64> insertions&&&& rrx<00>Parser._inject_macro_tokens<6E>s<><00><00><1A>(<28> <11> !<21> !<21> '<27> '<27>R<EFBFBD> '<27>c<EFBFBD> <09>n<EFBFBD>n<EFBFBD>S<EFBFBD><19><19>
2025-12-11 20:07:10 +01:00
<0A>c<EFBFBD>"<22>g<EFBFBD>,<2C><11>
<1A>C<EFBFBD>
2025-12-14 00:38:19 +01:00
<EFBFBD>Q<EFBFBD>w<EFBFBD>#<23><13>T<EFBFBD><19>"<22> <15><06>t<EFBFBD>y<EFBFBD>y<EFBFBD>k<EFBFBD>)?<3F><03>u<EFBFBD>E<> F<>F<> <0C>O<EFBFBD>O<EFBFBD>D<EFBFBD>I<EFBFBD><1E> <0C>O<EFBFBD>O<EFBFBD>C<EFBFBD><18>(<28><17><04><16>s<EFBFBD> <09><03>*<2A>*<2A>U<EFBFBD>\<5C>\<5C><15><1B><1B>RW<52>R[<5B>R[<5B>\<5C><16> <0C><04>$-<2D>+<2B>+<2B>d<EFBFBD>h<EFBFBD>h<EFBFBD>t<EFBFBD>x<EFBFBD>x<EFBFBD> <20><> s<00>0ADc<01> <00>V^8<>dQhRRRR/#)r-<00>countr&r.r<>r)r/s"rr0r%s<00><00><0E><0E>c<EFBFBD><0E>i<EFBFBD>rc <09><><00>.p\V4FMpVP4'd \R4hVPVP 4P
4KO V#)z"macro invocation missing arguments)<06>ranger=rrlr8r%)r7r<>ry<00>_s&& rrw<00>Parser._collect_macro_argssK<00><00><16>$<24> <10><15><<3C>a<EFBFBD>
2025-12-11 20:07:10 +01:00
<EFBFBD>i<EFBFBD>i<EFBFBD>k<EFBFBD>k<EFBFBD>
<14>9<>
:<3A>:<3A><07>;<3B>;<3B>t<EFBFBD>}<7D>}<7D><EFBFBD>%<25>%<25>&<26> <18>
2025-12-14 00:38:19 +01:00
<0E>+rc<01>$<00>V^8<>dQhRRRRRR/#)r-r<>r$r<>r&r.r?r)r/s"rr0r%s&<00><00>X<01>X<01><03>X<01>#<23>X<01>$<24>Xrc <09>^<00>VPe \R4h\V.VR7VnR#)Nz*nested macro definitions are not supported)r<>rTr<>)r,rr<>)r7r<>r<>s&&&r<00>_start_macro_recording<6E>Parser._start_macro_recordings+<00><00> <09><19><19>%<25> <13>@<40> A<>A<>(<28>d<EFBFBD>2<EFBFBD>;<3B>W<>$<24>rc<01> <00>V^8<>dQhRRRR/#rbr)r/s"rr0r%s<00><00>!<21>!<21>%<25>!<21>D<EFBFBD>!rc <09>J<00>VPf&\RVP RVP 24hVPpRVn\ VP
2025-12-11 20:07:10 +01:00
R7p\ VP4VnVPVn
2025-12-14 00:38:19 +01:00
VPPV4R#)Nzunexpected ';macro' at r4r<>) r,rr'r(rr<>r<>rTrr<>rr#r)r7r]<00> macro_defrs&& rrr<00>Parser._finish_macro_recordings<><00><00> <09><19><19>!<21> <13>-<2D>e<EFBFBD>j<EFBFBD>j<EFBFBD>\<5C><11>5<EFBFBD><<3C><<3C>.<2E>I<> J<>J<><12>"<22>"<22>)<29><1D>$<24><16> <0A>9<EFBFBD>><3E>><3E> "<22>$<24><1D>i<EFBFBD>.<2E>.<2E>/<2F>$<24><16><1F>+<2B>+<2B>$<24><13><06>/<2F>/<2F><1A><1A>4<EFBFBD> rc<01> <00>V^8<>dQhRRRR/#)r-<00>entry<72>Dict[str, str]r.r?r)r/s"rr0r%s<00><00>#<23>#<23><0E>#<23>4<EFBFBD>#rc <09><><00>RV9gRV9d:VPpVe*\V4pVPVR&VPVR&VPP V4R#)r'r(N)r/rr'r(r-rl)r7r<>rXs&& r<00> _push_control<6F>Parser._push_controlsX<00><00> <0B>5<EFBFBD><18>H<EFBFBD>E<EFBFBD>1<> <0A> <19> <19>3<EFBFBD> <09>o<EFBFBD> <10><15>K<EFBFBD>E<EFBFBD><17>H<EFBFBD>H<EFBFBD>E<EFBFBD>&<26>M<EFBFBD><19>j<EFBFBD>j<EFBFBD>E<EFBFBD>(<28>O<EFBFBD><06><14><14><1B><1B>E<EFBFBD>"rc<01> <00>V^8<>dQhRRRR/#)r-<00>expectedzTuple[str, ...]r.r<>r)r/s"rr0r%&s<00><00> <0F> <0F>/<2F> <0F>n<EFBFBD> rc <09><><00>VP'g \R4hVPP4pVPR4V9d<>VPpRpVe+RVP
2025-12-11 20:07:10 +01:00
RVP RVP R2pRpRV9dRV9dR VR, RVR, R
2025-12-14 00:38:19 +01:00
2p\R VPR4 R2V,V,4hV#) zcontrol stack underflow<6F>typerfz at r4z near '<27>'r'r(z (opened at r5zmismatched control word ')r-rr[rr/r'r(r%)r7r<>r<>rX<00>location<6F>origins&& r<00> _pop_control<6F>Parser._pop_control&s<><00><00> <0A> <1B> <1B> <1B> <13>-<2D> .<2E>.<2E>
2025-12-11 20:07:10 +01:00
<0E>
<1C>
<1C>
<20>
<20>
"<22>%<25>
2025-12-14 00:38:19 +01:00
<EFBFBD>Y<EFBFBD>Y<EFBFBD>v<EFBFBD><16>h<EFBFBD>&<26> <0A> <19> <19>3<EFBFBD><10>8<EFBFBD> <09>o<EFBFBD><15>c<EFBFBD>h<EFBFBD>h<EFBFBD>Z<EFBFBD>q<EFBFBD><13><1A><1A> <0C>G<EFBFBD>C<EFBFBD>J<EFBFBD>J<EFBFBD><<3C>q<EFBFBD>A<>H<EFBFBD> <0E>6<EFBFBD> <0C><05>o<EFBFBD>(<28>e<EFBFBD>+<2B><1B>E<EFBFBD>&<26>M<EFBFBD>?<3F>!<21>E<EFBFBD>(<28>O<EFBFBD>+<<3C>A<EFBFBD> ><3E>F<EFBFBD> <13>/<2F><05> <09> <09>&<26>0A<30>/B<>!<21>D<>v<EFBFBD>M<>PX<50>X<> Y<>Y<> <0E>,rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r%5s<00><00><0F><0F>c<EFBFBD><0F>c<EFBFBD>rc <09>\<00>RV RVP 2pV;P^, unV#)<02>L_r<5F>)r.)r7r<><00>labels&& rr<><00>Parser._new_label5s1<00><00> <0E>v<EFBFBD>h<EFBFBD>a<EFBFBD><04>*<2A>*<2A>+<2B>
,<2C>%<25><06><14><14><01><19><14> <0E>,rc<01> <00>V^8<>dQhRRRR/#ror)r/s"rr0r%:s<00><00> <17> <17>%<25> <17>D<EFBFBD> rc <09>0<00>VP'gR#VPPVP4pVf\RVP R24hVPP W!.4VPP 4p\V4#)Fz token hook 'z ' not defined)r<>r#rrr1<00>invoke_with_argsr[r<>)r7r]<00> hook_word<72>handleds&& rrN<00>Parser._run_token_hook:sy<00><00> <0A><1F><1F><1F>
<0F><12>o<EFBFBD>o<EFBFBD>$<24>$<24>T<EFBFBD>_<EFBFBD>_<EFBFBD>5<>)<29><0E><16> <13>l<EFBFBD>4<EFBFBD>?<3F>?<3F>"3<>=<3D>A<> B<>B<><06><16><16>'<27>'<27> <09>7<EFBFBD>;<3B> <10> <20> <20> $<24> $<24> &<26>'<27> <0A>g<EFBFBD><1D>rc<01><00>V^8<>dQhRR/#r>r)r/s"rr0r%Es<00><00>;<3B>;<3B><14>;rc <09><><00>VPR4pVP\VR74VPRRRV/4R#)<06>if_false<73>r<>r<>rH<00>falseN)r<>rAr<>r<>)r7<00> false_labels& rrT<00>Parser._handle_if_controlEs:<00><00><14><0F><0F>
<EFBFBD>+<2B>+<2B><06><13><13>J<EFBFBD>k<EFBFBD>2<>3<><06><14><14>f<EFBFBD>d<EFBFBD>G<EFBFBD>[<5B>9<>:rc<01><00>V^8<>dQhRR/#r>r)r/s"rr0r%Js<00><00>9<>9<>4<EFBFBD>9rc <09><><00>VPR 4pVPR4pVP\VR74VP\ VR,R74VP RRRV/4R#)
rH<00>if_endr<64>r<>r<>r<>rIr*N)rH)r<>r<>rAr<>r<>r<>)r7r<>r<>s& rrU<00>Parser._handle_else_controlJsa<00><00>
2025-12-11 20:07:10 +01:00
<0E>
<1B>
<1B>G<EFBFBD>
2025-12-14 00:38:19 +01:00
$<24>%<25><12>o<EFBFBD>o<EFBFBD>h<EFBFBD>'<27>)<29><06><13><13>D<EFBFBD> <09>*<2A>+<2B><06><13><13>E<EFBFBD>u<EFBFBD>W<EFBFBD>~<7E>.<2E>/<2F><06><14><14>f<EFBFBD>f<EFBFBD>e<EFBFBD>Y<EFBFBD>7<>8rc<01><00>V^8<>dQhRR/#r>r)r/s"rr0r%Qs<00><00>/<2F>/<2F>4<EFBFBD>/rc <09><><00>VPR4pVR,R8Xd%VP\VR,R74R#VP\VR,R74R#)rHr<>r<>r<>r*N)rHrI)r<>rAr<><00>r7r<>s& rrV<00>Parser._handle_then_controlQsL<00><00>
2025-12-11 20:07:10 +01:00
<0E>
<1B>
<1B>N<EFBFBD>
+<2B>%<25>
2025-12-14 00:38:19 +01:00
<EFBFBD>6<EFBFBD>]<5D>d<EFBFBD><1A><07><14><14>U<EFBFBD><05>g<EFBFBD><0E>/<2F>0<><07><14><14>U<EFBFBD><05>e<EFBFBD> <0C>-<2D>.rc<01><00>V^8<>dQhRR/#r>r)r/s"rr0r%Xs<00><00>L<01>L<01>$<24>Lrc <09><><00>VPR4pVPR4pVP\WR74VPRRRVRV/4R#)<08>for_loop<6F>for_end<6E>r<>r<>r<>rK<00>loopr*N)r<>rAr<>r<>)r7r<>r<>s& rrW<00>Parser._handle_for_controlXsL<00><00><13><EFBFBD><EFBFBD>z<EFBFBD>*<2A>*<2A><12>o<EFBFBD>o<EFBFBD>i<EFBFBD>(<28>)<29><06><13><13>H<EFBFBD>
<EFBFBD>H<>I<><06><14><14>f<EFBFBD>e<EFBFBD>V<EFBFBD>Z<EFBFBD><15> <09>J<>Krc<01><00>V^8<>dQhRR/#r>r)r/s"rr0r%^s<00><00>O<01>O<01>4<EFBFBD>Orc <09>|<00>VPR4pVP\VR,VR,R74R#)rKr<>r*r<>N)rK)r<>rAr<>r<>s& rrX<00>Parser._handle_next_control^s/<00><00>
2025-12-11 20:07:10 +01:00
<0E>
<1B>
<1B>H<EFBFBD>
2025-12-14 00:38:19 +01:00
%<25>%<25><06><13><13>G<EFBFBD>u<EFBFBD>V<EFBFBD>}<7D><05>e<EFBFBD> <0C>M<>Nrc<01> <00>V^8<>dQhRRRR/#rbr)r/s"rr0r%bs<00><00> %<25> %<25>E<EFBFBD> %<25>d<EFBFBD> %rc <09><><00>VP4'd&\RVP RVP 24hVP 4p\ VP .R7pVPPV4VPPVP4pVf2\VPR7pVPPV4W4nVPPV4R#)z%definition name missing after ':' at r4<00>r<>r<>Nr<4E>)r=rr'r(r8r<>r%r)rlr#rr<>rrrr*)r7r]<00>
name_tokenrrs&& rrP<00>Parser._begin_definitionbs<><00><00> <09>Y<EFBFBD>Y<EFBFBD>[<5B>[<5B> <13>;<3B>E<EFBFBD>J<EFBFBD>J<EFBFBD><<3C>q<EFBFBD><15><1C><1C><0E>W<> X<>X<><13>}<7D>}<7D><EFBFBD>*<2A><19>z<EFBFBD>0<>0<>r<EFBFBD>:<3A>*<2A><06><14><14><1B><1B>J<EFBFBD>'<27> <0A><1F><1F> <1F> <1F>
2025-12-11 20:07:10 +01:00
<EFBFBD><0F><0F> 0<>$<24> <09>\<5C>
<0E>J<EFBFBD>O<EFBFBD>O<EFBFBD>
2025-12-14 00:38:19 +01:00
$<24>4<EFBFBD><07>?<3F>?<3F><1B><1B>D<EFBFBD>!<21><1E>/<2F><06><17><17><1E><1E>t<EFBFBD>$rc<01> <00>V^8<>dQhRRRR/#rbr)r/s"rr0r%os<00><00><1B><1B>%<25><1B>D<EFBFBD>rc <09><><00>\VP4^8:d&\RVP RVP 24hVPP 4p\ V\4'g \R4hVPP 4pVPVn VPVn
VP'gVP'dRVn RVn VPR,p\ V\4'g \R4hVPPV4W0nR#)rBzunexpected ';' at r4z';' can only close definitionsTNz(nested definitions are not supported yet<65><74><EFBFBD><EFBFBD><EFBFBD>)rOr)rr'r(r[r\r<>r*r<>r<>r rr<>r<>rlr+)r7r]<00>ctxrr^s&& rrQ<00>Parser._end_definitionos<><00><00><08><14> <1B> <1B><1C><01>!<21> <13>(<28><15><1A><1A> <0C>A<EFBFBD>e<EFBFBD>l<EFBFBD>l<EFBFBD>^<5E>D<> E<>E<> <0C><1A><1A><1E><1E> <20>#<23> <13>C<EFBFBD><1A> $<24> $<24> <13>4<> 5<>5<> <0A> <1E> <1E> "<22> "<22> $<24>$<24><16>.<2E>.<2E>#<23>-<2D><19>&<26>&<26>#<23><12> <09><16><16><16>$<24>.<2E>.<2E>.<2E> $<24>4<EFBFBD><1D>!%<25>4<EFBFBD><1E> <0F> <1D> <1D>b<EFBFBD> !<21>&<26> <13>F<EFBFBD>F<EFBFBD> #<23> #<23> <13>><3E> ?<3F>?<3F><08>,<2C>,<2C><15><15>c<EFBFBD><1A><1A>rc<01> <00>V^8<>dQhRRRR/#rbr)r/s"rr0r%<00>s<00><00>"c<01>"c<01><05>"c<01>$<24>"crc <09><><00>VP4'd&\RVP RVP 24hVP 4pVP 4pVP
2025-12-11 20:07:10 +01:00
R8wd&\RVP RVP 24hVP pRpVP4'g1VP 4pVP
R8XgK9VPpVf \R4hVPWEp\VP
VR7pVPPVP4p V f2\VPR7p VPPV 4W<>nV P VnV P"VnVP$R ,p
\'V
\(4'g \R 4hV
P*P-V4W<>nVP4'd \R
4hVP 4p V P
2025-12-14 00:38:19 +01:00
R 8wd&\R V P RV P 24hR#)z(definition name missing after ':asm' at r4rKzexpected '{' after asm name at NrLz!missing '}' to terminate asm bodyr<79>r<>z'asm definitions must be top-level formsz%asm definition missing terminator ';'rHz%expected ';' after asm definition at r<>)r=rr'r(r8r%r*r)rbr<>r#rr<>rrrr<>r<>r)r\r<>r<>rlr+) r7r]r<><00> brace_token<65> block_start<72> block_endr<64><00>asm_bodyrrr^<00>
terminators && rrR<00>Parser._parse_asm_definition<6F>s<><00><00> <09>Y<EFBFBD>Y<EFBFBD>[<5B>[<5B> <13>><3E>u<EFBFBD>z<EFBFBD>z<EFBFBD>l<EFBFBD>!<21>E<EFBFBD>L<EFBFBD>L<EFBFBD>><3E>Z<> [<5B>[<5B><13>}<7D>}<7D><EFBFBD>*<2A><14> <0A> <0A><0F>+<2B><10><17><17>3<EFBFBD><1E> <13>6<>{<7B>7G<37>7G<37>6H<36><01>+<2B>J\<5C>J\<5C>I]<5D>^<5E> _<>_<><1B><0F><0F>+<2B>!<21>)<29> <10>I<EFBFBD>I<EFBFBD>K<EFBFBD>K<EFBFBD><14> <0A> <0A><0F>:<3A><10><17><17>3<EFBFBD><1E><1A> <20> <20>I<EFBFBD> <09><0E><16> <13>7<> 8<>8<> <11>[<5B>[<5B><1B> /<2F>(<28><1C>*<2A>"3<>"3<>(<28>C<>*<2A> <0A><1F><1F> <1F> <1F>
2025-12-11 20:07:10 +01:00
<EFBFBD><0F><0F> 0<>$<24> <09>\<5C>
<0E>J<EFBFBD>O<EFBFBD>O<EFBFBD>
2025-12-14 00:38:19 +01:00
$<24>4<EFBFBD><07>?<3F>?<3F><1B><1B>D<EFBFBD>!<21><1E>/<2F><1D><1E><1E>*<2A><16> <20>-<2D>-<2D>*<2A><19> <0F> <1D> <1D>b<EFBFBD> !<21>&<26> <13>F<EFBFBD>F<EFBFBD> #<23> #<23> <13>=<3D> ><3E>><3E><08>,<2C>,<2C><15><15>j<EFBFBD>!<21><1A><13> <09>Y<EFBFBD>Y<EFBFBD>[<5B>[<5B> <13>;<3B> <<3C><<3C><13>}<7D>}<7D><EFBFBD>*<2A><0F><16><16>#<23><1D> <13>;<3B>J<EFBFBD>O<EFBFBD>O<EFBFBD>;L<>A<EFBFBD>j<EFBFBD>N_<4E>N_<4E>M`<60>a<> b<>b<>rc<01> <00>V^8<>dQhRRRR/#rbr)r/s"rr0r%<00>s<00><00>'b<01>'b<01>u<EFBFBD>'b<01><14>'brc <09><><00>VP4'd&\RVP RVP 24hVP 4pVP 4pVP
2025-12-11 20:07:10 +01:00
R8wd&\RVP RVP 24hVP pRpVP4'g1VP 4pVP
R8XgK9VPpVf \R4h\P!VPWE4pVPPVP
4pVf\VP
R7pVP4p \Wy4T P%R
4p T P%R 4p T fT f \R 4hT eY<>nR TnT eY<>nTPP-T4TP4'd \R4hTP 4p T P
R8wd&\RT P RT P 24hR# \ d"p
\RTP" R T
24T
hRp
?
2025-12-14 00:38:19 +01:00
ii;i)z'definition name missing after ':py' at r4rKzexpected '{' after py name at NrLz missing '}' to terminate py bodyr<79>zpython macro body for 'z
' raised: rrz4python definition must define 'macro' or 'intrinsic'Tz$py definition missing terminator ';'rHz$expected ';' after py definition at )r=rr'r(r8r%r*r)<00>textwrap<61>dedentrbr#rr<00>_py_exec_namespace<63>execrkr<>rrr<>rr)r7r]r<>r<>r<>r<>r<><00>py_bodyr<00> namespacerl<00>macro_fn<66> intrinsic_fnr<6E>s&& rrS<00>Parser._parse_py_definition<6F>s<00><00> <09>Y<EFBFBD>Y<EFBFBD>[<5B>[<5B> <13>=<3D>e<EFBFBD>j<EFBFBD>j<EFBFBD>\<5C><11>5<EFBFBD><<3C><<3C>.<2E>Y<> Z<>Z<><13>}<7D>}<7D><EFBFBD>*<2A><14> <0A> <0A><0F>+<2B><10><17><17>3<EFBFBD><1E> <13>5<>k<EFBFBD>6F<36>6F<36>5G<35>q<EFBFBD><1B>I[<5B>I[<5B>H\<5C>]<5D> ^<5E>^<5E><1B><0F><0F>+<2B>!<21>)<29> <10>I<EFBFBD>I<EFBFBD>K<EFBFBD>K<EFBFBD><14> <0A> <0A><0F>:<3A><10><17><17>3<EFBFBD><1E><1A> <20> <20>I<EFBFBD> <09><0E><16> <13>6<> 7<>7<> <14>O<EFBFBD>O<EFBFBD>D<EFBFBD>K<EFBFBD>K<EFBFBD> <0B>><3E> ?<3F>'<27> <0A><1F><1F> <1F> <1F>
2025-12-11 20:07:10 +01:00
<EFBFBD> 1<> 1<> 2<>$<24> <09>\<5C>
<0E>J<EFBFBD>%<25>%<25>
&<26>4<EFBFBD><12>%<25>%<25>'<27>)<29>S<01><07><07><1B><17>]<5D>]<5D>7<EFBFBD> #<23>(<28><1A><1D><1D>{<7B>+<2B>,<2C> <0A><15>,<2C>.<2E> <13>J<> K<>K<> <0A><19><18>:<3A><18>4<EFBFBD>><3E><11><1D> <20>><3E><06>/<2F>/<2F><1A><1A>4<EFBFBD> <20> <09>Y<EFBFBD>Y<EFBFBD>[<5B>[<5B> <13>:<3A> ;<3B>;<3B><13>}<7D>}<7D><EFBFBD>*<2A><0F><16><16>#<23><1D> <13>:<3A>:<3A>?<3F>?<3F>:K<>1<EFBFBD>Z<EFBFBD>M^<5E>M^<5E>L_<4C>`<60> a<>a<><1E><>
<13>S<01> <13>-<2D>d<EFBFBD>i<EFBFBD>i<EFBFBD>[<5B>
2025-12-14 00:38:19 +01:00
<EFBFBD>3<EFBFBD>%<25>H<> I<>s<EFBFBD>R<><52>S<01>s<00>' I<00> I2<03>I-<03>-I2c<01><00>V^8<>dQhRR/#)r-r.<00>Dict[str, Any]r)r/s"rr0r%<00>s<00><00><1F><1F><1E>rc <09> <00>\\4#r^)r<00>PY_EXEC_GLOBALSr6s&rr<><00>Parser._py_exec_namespace<63>s <00><00> <0A>o<EFBFBD> <1E>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r%<00>s<00><00>-<2D>-<2D>g<EFBFBD>-<2D>$<24>-rc <09>
2025-12-11 20:07:10 +01:00
<00>VPR,p\V\4'dVPP V4R#\V\
2025-12-14 00:38:19 +01:00
4'dVP P V4R#\R4h)rBzunknown parse contextNr<4E>)r)r\r<>r<>rlr<>r<>r)r7r<>r<>s&& rrA<00>Parser._append_node<64>s\<00><00> <0F> <1D> <1D>b<EFBFBD> !<21>&<26><0F><06><06><1F><1F> <09><<3C><<3C><16><16>t<EFBFBD><1C><11>&<26>*<2A>%<25>%<25> <09>;<3B>;<3B><15><15>d<EFBFBD><1B> <13>+<2B> ,<2C>,rc<01> <00>V^8<>dQhRRRR/#ror)r/s"rr0r%<00>s<00><00>
2025-12-11 20:07:10 +01:00
<0E>
<0E>u<EFBFBD>
<0E><14>
2025-12-14 00:38:19 +01:00
rc <09><><00>\VP^4pTP \ TR74R# \d2\T4pTfR#TP \ TR74R#i;i)<04>Fr<46>T)r&r%<00>
ValueError<EFBFBD>_parse_string_literalrAr<>)r7r]r<><00> string_values&& rrd<00>Parser._try_literal<61>si<00><00><0F> <0E>u<EFBFBD>|<7C>|<7C>Q<EFBFBD> <1F>5<EFBFBD><07><13><13>G<EFBFBD>%<25>(<28>)<29> <0A><>
2025-12-11 20:07:10 +01:00
<14><0F>'<27><05>.<2E><<3C><12><1A> <10><07><14><14>W<EFBFBD><<3C>0<>1<>
2025-12-14 00:38:19 +01:00
<0E> <0F>s<00>5<00>A1<03>A1<03>0A1c<01><00>V^8<>dQhRR/#r<>r)r/s"rr0r%<00>s<00><00><0F><0F>u<EFBFBD>rc <09><><00>VPVP4VP4'd \R4hVPVP,pV;P^, unV#)zunexpected EOF)r<r<>r=rrTrss& rr8<00>Parser._consume<6D>sO<00><00><06><15><15>d<EFBFBD>h<EFBFBD>h<EFBFBD><1F> <09>Y<EFBFBD>Y<EFBFBD>[<5B>[<5B> <13>$<24> %<25>%<25>
2025-12-11 20:07:10 +01:00
<0E>+<2B>+<2B>d<EFBFBD>h<EFBFBD>h<EFBFBD>
2025-12-14 00:38:19 +01:00
<1F>%<25><06>(<28>(<28>a<EFBFBD>-<2D>(<28> <0E>,rc<01><00>V^8<>dQhRR/#)r-r.r<>r)r/s"rr0r%<00>s<00><00>&<26>&<26>4<EFBFBD>&rc <09>|<00>VPVP4VP\VP48<>#r^)r<r<>rOrTr6s&rr=<00> Parser._eof<6F>s,<00><00><06><15><15>d<EFBFBD>h<EFBFBD>h<EFBFBD><1F> <0A><18><18>S<EFBFBD><14><1B><1B>%<25> %<25>%rc<01> <00>V^8<>dQhRRRR/#)r-<00>uptor&r.r?r)r/s"rr0r%<00>s<00><00>  <20>  <20><03>  <20><04>  rc <09>P<00>VP'dR#VPf
2025-12-11 20:07:10 +01:00
RVnR#\VP4V8:dHVP'g4\ VP4pTPP T4K_R#R# \
2025-12-14 00:38:19 +01:00
d RTnR#i;i)NT)r(r'rOrTrL<00> StopIterationrl)r7r<><00>next_toks&& rr<<00>Parser._ensure_tokens<6E>s<><00><00> <09><1F><1F><1F> <09> <09><15><15><1D> $<24>4<EFBFBD><1D> <09> <0B>D<EFBFBD>K<EFBFBD>K<EFBFBD><18>D<EFBFBD> <20><14>)C<>)C<>)C<>
2025-12-11 20:07:10 +01:00
<EFBFBD><13>D<EFBFBD>$<24>$<24>%<25>H<EFBFBD><08>;<3B>;<3B><15><15>h<EFBFBD><1F> *D<01> <20><> <18>
<EFBFBD>!%<25>D<EFBFBD><1E> <09>
2025-12-14 00:38:19 +01:00
<EFBFBD>s<00>B<00>B%<03>$B%)r/r'r(r1r)r-r*r#r.r+r,r<>r$rbr<>rTr^)'rrrrrQr<>r<>r<>r<>r<>r_rZrerOrYrxrwr<>rrr<>r<>r<>rNrTrUrVrWrXrPrQrRrSr<>rArdr8r=r<rrrrr!r!fs<><00><00>-<2D>$0<>
2025-12-11 20:07:10 +01:00
<19>8<><1A><1B>=<10>@0<>"O<01><0E><0F>-<2D> <0E>X<01>
!<21>#<23> <0F><0F>
<17>;<3B>
9<>/<2F>L<01> O<01> %<25><1B>$"c<01>H'b<01>R<1F>-<2D>
2025-12-14 00:38:19 +01:00
<0E><0F>&<26>  <20>  rr!c<01><><00>]tRtRtRRltRRltRRltRR ltR
2025-12-11 20:07:10 +01:00
R ltR R lt RRlt
2025-12-14 00:38:19 +01:00
RRlt RRlt RRlt RRltRRltRRltRRltRRltR R!ltR"R#ltR$R%ltR&R'ltR(tR)#)*r0ic<01> <00>V^8<>dQhRRRR/#)r-r<>r!r.r?r)r/s"rr0<00>CompileTimeVM.__annotate__s<00><00>#<23>#<23>F<EFBFBD>#<23>t<EFBFBD>#rc <09>|<00>WnVPVn.Vn.Vn.Vn\ 4VnR#r^)r<>r#<00>stack<63> return_stack<63>
loop_stack<EFBFBD>_CTHandleTable<6C>_handlesr<73>s&&rrQ<00>CompileTimeVM.__init__s4<00><00><16>+<2B><1A>%<25>%<25>$<24>/<2F><1C>$<24>*<2A>!#<23>$<24><13>*,<2C>$<24>/<2F> <20>"<22>$<24>-rc<01><00>V^8<>dQhRR/#r>r)r/s"rr0r<>
s<00><00><18><18>D<EFBFBD>rc <09><><00>VPP4VPP4VPP4VPP4R#r^)rrkrrrr6s&r<00>reset<65>CompileTimeVM.reset
sD<00><00><06>*<2A>*<2A><12><12><14><06><13><13><19><19><1B><06>/<2F>/<2F><17><17><19><06>-<2D>-<2D><15><15>rc<01> <00>V^8<>dQhRRRR/#)r-r<>rr.r?r)r/s"rr0r<>s<00><00><1B><1B>s<EFBFBD><1B>t<EFBFBD>rc <09><<00>VPPV4R#r^)rrlr<>s&&r<00>push<73>CompileTimeVM.pushs<00><00><06>*<2A>*<2A><13><13>E<EFBFBD>rc<01><00>V^8<>dQhRR/#<00>r-r.rr)r/s"rr0r<>s<00><00><1A><1A>#<23>rc <09>p<00>VP'g \R4hVPP4#)<01>compile-time stack underflow)rrr[r6s&rr[<00>CompileTimeVM.pops(<00><00> <0A><1A><1A><1A> <13>2<> 3<>3<> <0A><1A><1A><1E><1E> <19>rc<01><00>V^8<>dQhRR/#rr)r/s"rr0r<>s<00><00><18><18>3<EFBFBD>rc <09>b<00>VP'g \R4hVPR,#)rr<>)rrr6s&r<00>peek<65>CompileTimeVM.peeks%<00><00> <0A><1A><1A><1A> <13>2<> 3<>3<> <0A><1A><1A>B<EFBFBD><1E>rc<01><00>V^8<>dQhRR/#)r-r.r&r)r/s"rr0r<><00><00><00><0F><0F>c<EFBFBD>rc <09>h<00>VP4p\V\4'g \R4hV#)z&expected integer on compile-time stack)r[r\r&rr<>s& r<00>pop_int<6E>CompileTimeVM.pop_ints+<00><00>
<0E>(<28>(<28>*<2A>%<25> <13>E<EFBFBD>3<EFBFBD> <1F> <1F> <13><<3C> =<3D>=<3D> <0E>,rc<01><00>V^8<>dQhRR/#r,r)r/s"rr0r<>#rrc <09>h<00>VP4p\V\4'g \R4hV#)z%expected string on compile-time stack)r[r\r$rr<>s& r<00>pop_str<74>CompileTimeVM.pop_str#s+<00><00>
<0E>(<28>(<28>*<2A>%<25> <13>E<EFBFBD>3<EFBFBD> <1F> <1F> <13>;<3B> <<3C><<3C> <0E>,rc<01><00>V^8<>dQhRR/#)r-r.<00> List[Any]r)r/s"rr0r<>)s<00><00><0F><0F>y<EFBFBD>rc <09>h<00>VP4p\V\4'g \R4hV#)z#expected list on compile-time stack)r[r\r<>rr<>s& r<00>pop_list<73>CompileTimeVM.pop_list)s+<00><00>
<0E>(<28>(<28>*<2A>%<25> <13>E<EFBFBD>4<EFBFBD> <20> <20> <13>9<> :<3A>:<3A> <0E>,rc<01><00>V^8<>dQhRR/#r<>r)r/s"rr0r<>/s<00><00><0F><0F><05>rc <09>h<00>VP4p\V\4'g \R4hV#)z$expected token on compile-time stack)r[r\r#rr<>s& r<00> pop_token<65>CompileTimeVM.pop_token/s+<00><00>
<0E>(<28>(<28>*<2A>%<25> <13>E<EFBFBD>5<EFBFBD> !<21> !<21> <13>:<3A> ;<3B>;<3B> <0E>,rc<01> <00>V^8<>dQhRRRR/#rr)r/s"rr0r<>5s<00><00><18><18><04><18><14>rc <09>H<00>VP4VPV4R#r^)r<00>
_call_wordrs&&rrj<00>CompileTimeVM.invoke5s<00><00><06>*<2A>*<2A>,<2C><06>/<2F>/<2F>$<24>rc<01>$<00>V^8<>dQhRRRRRR/#)r-rrryz Sequence[Any]r.r?r)r/s"rr0r<>9s!<00><00><18><18>$<24><18>m<EFBFBD><18><04>rc <09>|<00>VP4VFpVPV4K VPV4R#r^)rr r+)r7rryr<>s&&& rr<><00>CompileTimeVM.invoke_with_args9s-<00><00><06>*<2A>*<2A>,<2C><13>e<EFBFBD><07>9<EFBFBD>9<EFBFBD>U<EFBFBD><13><14><06>/<2F>/<2F>$<24>rc<01> <00>V^8<>dQhRRRR/#rr)r/s"rr0r<>?s<00><00> '<27> '<27>D<EFBFBD> '<27>T<EFBFBD> 'rc <09><><00>VPpVP;'g9\V\4;'d!VP;'g VP
pV'g"VP eVP V4R#Vf\RVP R24h\V\4'dVPV4R#VPVP4R#)N<>word 'z ' has no compile-time definition) rr r\r<>r<>r<>rrr<>r<><00>_run_asm_definition<6F>_execute_nodesr<73>)r7rr<00>prefer_definitions&& rr+<00>CompileTimeVM._call_word?s<><00><00><13><EFBFBD><EFBFBD>*<2A><1A>0<>0<>C<02>C<02>Z<EFBFBD>
2025-12-11 20:07:10 +01:00
<EFBFBD>J<EFBFBD>5W<EFBFBD>6B<02>6B<02>]a<>]k<>]k<>^A<02>^A<02>os<6F>pA<02>pA<02><13> <1A>t<EFBFBD>:<3A>:<3A>F<><07><1E><1E>t<EFBFBD>$<24> <09><0F><17> <13>f<EFBFBD>T<EFBFBD>Y<EFBFBD>Y<EFBFBD>K<EFBFBD>'G<>H<> I<>I<><0F>
2025-12-14 00:38:19 +01:00
<EFBFBD>M<EFBFBD>*<2A>*<2A><07><1B><1B>D<EFBFBD>!<21> <09><06><15><15>j<EFBFBD>o<EFBFBD>o<EFBFBD>&rc<01> <00>V^8<>dQhRRRR/#rr)r/s"rr0r<>Ls<00><00>@><3E>@><3E>T<EFBFBD>@><3E>d<EFBFBD>@>rc
 <09>ha8a9a:<3A>VPp\f \R4h\V\4'g\RVP
R24hVP PR4pVPo9\;QJd&RVP4F 'gK RM RM!RVP44p\;QJd&RVP4F 'gK RM RM!RVP44p.pVPVP,F,p\V\4'gKVPV4K. R p/o:V'd<>^p .p
/p VFpp W<>9dW<>,S:V &KV PR
4R ,p V
PV 4T p\V 4^,
pW<>3W<>&W<>3S:V &V \V 4, p Kr R P!V
4pRp^o8^pV'd<>\"P$!V4p\"P&!V4o8S8\V4,pS9P(PV4S:P+4Fwp wppV S9P,S8V,&K! ^<5E>p\"P$!V4pS9P(PV4\"P&!V4p.pVP/.R,O4V'd<>.pVP14F<>pVP4pVR 8XdR pRV9dVP3RRS8 24pRV9dVP3RRV 24pRV9gRV9d(VPRV 24VPR4K<>RV9d RVV, 2pRV9dRV 2pVPV4K<> VP/V4VP/.R-O4RRlpRRlp.pVF:pV!V4pVP4'gK#VPV!V44K< \\4\64pVP9RP!V44wp p!T f&\R!TP
R"\T4 R#24h\=T 4p$\>P>!R.\T$4\>P@\>PB,\>PD,R$7p%T%PGT$4\"P&!\"PHPKT%44p&\"PL!R\"PN\"PN\"PN\"PN4p'T'!T&4p(TPo9R%T8T9T:3R&llp).p*T)!TP4wp+p,p-p.T*PT.4T)!TP4wp/p0p1p2T*PT24\"PN!^4p3\"PN!^4p4T(!T+T/\"P&!T34\"P&!T444T3PPp5T4PPp6T-T5u;8:dT,8:gM\R'TP
R(24hT1T6u;8:dT08:gM\R'TP
R)24hR*R+lp7T7!T5T,S94Tn
T7!T6T0S94Tn R# \:d7p"RP!T4p#\RTP
RT" RT# R 24T"hRp"?"ii;i)/NzMkeystone is required for compile-time :asm execution; install keystone-enginer2z' has no asm bodyrgc3<01>L"<00>TFp\V\4'*x<00>K R#5ir^<00>r\r&<00><02>.0<EFBFBD>vs& r<00> <genexpr><3E>4CompileTimeVM._run_asm_definition.<locals>.<genexpr>Vs<00><00><00>@<40>Z<EFBFBD><01><1A>A<EFBFBD>s<EFBFBD>+<2B>+<2B>+<2B>Z<EFBFBD><5A><00>"$TFc3<01>L"<00>TFp\V\4'*x<00>K R#5ir^r:r;s& rr>r?Ws<00><00><00>I<>7H<37>!<21>:<3A>a<EFBFBD><13>-<2D>-<2D>-<2D>7H<37>r@r<00>utf-8<><00>retz jmp _ct_savezlea r8, [rel data_start]zmov r8, zlea r9, [rel data_end]zmov r9, zmov byte [rel print_buf]zmov byte ptr [rel print_buf]z mov rax, zmov byte ptr [rax], 10zlea rsi, [rel print_buf_end]z mov rsi, zlea rsi, [rel print_buf]c<01> <00>V^8<>dQhRRRR/#<00>r-r'r$r.r)r/s"rr0<00>7CompileTimeVM._run_asm_definition.<locals>.__annotate__<5F>s<00><00><0F><0F>S<EFBFBD><0F>S<EFBFBD>rc<01>H<00>RFpVPV R2V R24pK V#)<04>qwordz [z ptr [)rI<00>dwordr<00>byte)<01>replace)r'r<>s& r<00>_normalize_sizes<65>;CompileTimeVM._run_asm_definition.<locals>._normalize_sizes<65>s-<00><00>1<>t<EFBFBD> <0F><<3C><<3C>4<EFBFBD>&<26><02> <0B><04>v<EFBFBD>V<EFBFBD>_<EFBFBD> 5<>D<EFBFBD>2<>
<0E>;rc<01> <00>V^8<>dQhRRRR/#rFr)r/s"rr0rG<00>s<00><00>)<29>)<29>3<EFBFBD>)<29>3<EFBFBD>)rc<01>P<00>VPR^4^,P4#)rH)<02>split<69>rstrip)r's&r<00>_strip_comment<6E>9CompileTimeVM._run_asm_definition.<locals>._strip_comment<6E>s!<00><00>
<0E>*<2A>*<2A>S<EFBFBD>!<21>
<1C>Q<EFBFBD>
<1F>
&<26>
&<26>
(<28>(rzkeystone failed for word 'z': z
--- asm ---
z
--- end asm ---z$keystone produced no code for word 'z
' (lines: r5)<01>protc<01> <00>V^8<>dQhRRRR/#)r-<00>py_stackr!r.zTuple[int, int, int, Any]r)r/s"rr0rG<00>s<00><00> <20> <20>y<EFBFBD> <20>-F<> rc<01><><<03>\V4^,p\PV,!4p\P!V4pW1^,,pTpVEFpV^,p\ V\
4'd'V\PP V4nKI\ V\4'd<>S PVR4wrxS
'd
S
V,MS PV4p V \PP V4nV^,pV\PP V4nK<>S PV4\PP V4nEK WTW23#)<02>)r<>r<>) rO<00>ctypes<65>c_int64<36> addressofr\r&<00> from_addressr<73>r$r<00>store) rW<00>capacity<74>buffer<65>base<73>top<6F>spr<70>r<><00>strlen<65>addr<64>
data_start<EFBFBD>handles<65> string_addrss & <20><><EFBFBD>r<00>_marshal_stack<63>9CompileTimeVM._run_asm_definition.<locals>._marshal_stack<63>s<00><><00><11>(<28>m<EFBFBD>b<EFBFBD> <20>8<EFBFBD> <13>^<5E>^<5E>h<EFBFBD> &<26> )<29>6<EFBFBD>
<10>
<1A>
<1A>6<EFBFBD>
"<22>4<EFBFBD> <0A>1<EFBFBD> <0C> <1C>3<EFBFBD> <0B>2<EFBFBD><18>u<EFBFBD><06>!<21>G<EFBFBD>B<EFBFBD><11>%<25><13><1D><1D>-2<>V<EFBFBD>^<5E>^<5E> <20> <20><12>$<24>*<2A> <13>E<EFBFBD>3<EFBFBD> <1F> <1F>"<22>&<26>&<26>u<EFBFBD>f<EFBFBD>5<>^<5E>V<EFBFBD>#-<2D>J<EFBFBD><16> <1F>7<EFBFBD>=<3D>=<3D><15>3G<33>T<EFBFBD>-1<>V<EFBFBD>^<5E>^<5E> <20> <20><12>$<24>*<2A><07>1<EFBFBD>W<EFBFBD>R<EFBFBD>-3<>V<EFBFBD>^<5E>^<5E> <20> <20><12>$<24>*<2A>-4<>]<5D>]<5D>5<EFBFBD>-A<>V<EFBFBD>^<5E>^<5E> <20> <20><12>$<24>*<2A><19> <0A>4<EFBFBD>
<1F>rzcompile-time asm 'z' corrupted data stack pointerz ' corrupted return stack pointerc<01>(<00>V^8<>dQhRRRRRRRR/#)r-rcr&rb<00>tablerr.r!r)r/s"rr0rG<00>s(<00><00><11><11>3<EFBFBD><11>S<EFBFBD><11><1E><11>I<EFBFBD>rc<01><><00>W8Xd.#.pV^,
pW@8<>d<>\PPV4PpWRP9d<>VPV,p\ V\ 4'dHV'd@\ VR,\4'd#VP4VPV4M#VPV4MVPV4V^,pK<>V#)<02>r<>)
rZr[r]r<><00>objectsr\r$r&r[rl)rcrbrl<00>valuesre<00>raw<61>objs&&& r<00>_unmarshal_stack<63>;CompileTimeVM._run_asm_definition.<locals>._unmarshal_stack<63>s<><00><00><08>i<EFBFBD> <0A>I<EFBFBD><19>6<EFBFBD>
<0A><01>'<27>4<EFBFBD> <0A><1A>
<10>.<2E>.<2E>
%<25>
%<25>d<EFBFBD>
+<2B>
1<EFBFBD>
1<EFBFBD>C<EFBFBD>
<EFBFBD>m<EFBFBD>m<EFBFBD><1B> <10>=<3D>=<3D><13> <1D>S<EFBFBD><12>3<EFBFBD><03><1C><1C><16>J<EFBFBD>v<EFBFBD>b<EFBFBD>z<EFBFBD>3<EFBFBD>,G<>,G<> <0C>j<EFBFBD>j<EFBFBD>l<EFBFBD> <0C>m<EFBFBD>m<EFBFBD>C<EFBFBD><18> <0C>m<EFBFBD>m<EFBFBD>C<EFBFBD><18> <0B>]<5D>]<5D>3<EFBFBD><17><08>A<EFBFBD>I<EFBFBD>D<EFBFBD>
<10>=r)
z
_ct_entry:z push rbxz push r12z push r13z push r14z push r15z mov r12, rdiz mov r13, rsiz mov r14, rdxz mov r15, rcx) z _ct_save:z mov [r14], r12z mov [r15], r13z pop r15z pop r14z pop r13z pop r12z pop rbx<62> retr<74>))rrrr\r<>r<>r<><00>stripr<00>anyrrr$rl<00>encoderOrjrZ<00>create_string_bufferr\<00>refs<66>itemsro<00>extend<6E>
splitlinesrLrr<00>asmr<00>bytes<65>mmap<61> PROT_READ<41>
PROT_WRITE<EFBFBD> PROT_EXECr<00>c_char<61> from_buffer<65> CFUNCTYPE<50>c_uint64r<34>);r7rrr<><00> non_int_data<74>non_int_return<72>stringsr=<00> data_blobr<62><00>parts<74>seen<65>s<>encodedre<00>length<74> string_buffer<65>data_end<6E>off<66>_len<65>PRINT_BUF_BYTES<45> print_buffer<65> print_buf<75> wrapper_lines<65> patched_bodyr'rMrS<00>normalized_linesrq<00>stripped<65>ks<6B>encodingr<67>rl<00> debug_lines<65>code<64>code_buf<75>code_ptr<74> func_type<70>funcri<00>buffers<72>d_sp<73>d_top<6F>d_base<73>d_buf<75>r_sp<73>r_top<6F>r_base<73>r_buf<75>out_d<5F>out_r<5F>new_d<5F>new_rrsrfrgrhs;&& @@@rr3<00>!CompileTimeVM._run_asm_definitionLs$<00><><00><13><EFBFBD><EFBFBD>*<2A><07>Z<EFBFBD> <13>c<> d<>d<> <13>J<EFBFBD> <0A> .<2E> .<2E> <13>f<EFBFBD>T<EFBFBD>Y<EFBFBD>Y<EFBFBD>K<EFBFBD>'8<>9<> :<3A>:<3A> <17>_<EFBFBD>_<EFBFBD> "<22> "<22>4<EFBFBD> (<28>(<28> <10>M<EFBFBD>M<EFBFBD>'<27><14><13>@<40>T<EFBFBD>Z<EFBFBD>Z<EFBFBD>@<40><13><13><13>@<40>T<EFBFBD>Z<EFBFBD>Z<EFBFBD>@<40>@<40>,<2C><16>3<EFBFBD>I<>t<EFBFBD>7H<37>7H<37>I<>3<EFBFBD>3<EFBFBD>3<EFBFBD>I<>t<EFBFBD>7H<37>7H<37>I<>I<>.<2E><1A>'<27> <0F>:<3A>:<3A><04>)<29>)<29> )<29> )<29>a<EFBFBD><10><11>C<EFBFBD><18><18> <0B>N<EFBFBD>N<EFBFBD>1<EFBFBD><15> *<2A><12>)<29>-/<2F>,<2C> <0C> <0A>6<EFBFBD><1A>5<EFBFBD>&(<28>4<EFBFBD> <13>q<EFBFBD><08>y<EFBFBD><1B>w<EFBFBD>\<5C>!<21>_<EFBFBD> <0A><0F>h<EFBFBD>h<EFBFBD>w<EFBFBD><1F>'<27>)<29>G<EFBFBD> <09>L<EFBFBD>L<EFBFBD><17><19> <11>D<EFBFBD> <10><17>\<5C>A<EFBFBD> <1D>F<EFBFBD><13>n<EFBFBD>D<EFBFBD>G<EFBFBD><1B>n<EFBFBD>L<EFBFBD><11>O<EFBFBD>
<EFBFBD>c<EFBFBD>'<27>l<EFBFBD><1A>F<EFBFBD> <14><13>x<EFBFBD>x<EFBFBD><05><EFBFBD>9<EFBFBD>/3<>-<2D><10>*<2A> <0E>(<28><0E><19>.<2E>.<2E>y<EFBFBD>9<>=<3D><16> <20> <20><1D>/<2F>:<3A><18>3<EFBFBD>y<EFBFBD>><3E>)<29>8<EFBFBD>
<EFBFBD><<3C><<3C><16><16>}<7D>%<25>%<25>+<2B>+<2B>-<2D>~<7E>q<EFBFBD>+<2B>3<EFBFBD><04>()<29>G<EFBFBD>O<EFBFBD>O<EFBFBD>J<EFBFBD><13>$<24>%<25>.<2E><18>/<2F><17>,<2C>,<2C>_<EFBFBD>=<3D>,<2C> <09>,<2C>,<2C><15><15>l<EFBFBD>#<23><14><1E><1E>|<7C>,<2C>)<29><14>-<2D><0F><16><16> <04> <05><0E><14><<3C><17>"<22>"<22>$<24>t<EFBFBD> <0F>:<3A>:<3A><<3C>D<EFBFBD> <0B>u<EFBFBD>}<7D> <1A>T<EFBFBD>!<21>T<EFBFBD>)<29> <10>L<EFBFBD>L<EFBFBD>3<>x<EFBFBD>
<EFBFBD>|<7C>5L<35> M<>T<EFBFBD><1F>4<EFBFBD>'<27> <10>L<EFBFBD>L<EFBFBD>1<>X<EFBFBD>h<EFBFBD>Z<EFBFBD>3H<33> I<>T<EFBFBD>!<21>T<EFBFBD>)<29>-K<>t<EFBFBD>-S<><11><18><18>9<EFBFBD>Y<EFBFBD>K<EFBFBD>0<>1<><11><18><18>1<>2<> <0A>%<25><14>-<2D><17> <09>O<EFBFBD>3<>4<> 5<>T<EFBFBD>!<21>T<EFBFBD>)<29><17> <09>{<7B> #<23>T<EFBFBD><10><17><17><04><1D>!%<25>"<11><17><17> <0C>%<25><0F><16><16>
<04>
<05><0F>
)<29><18><12> <1A>c<EFBFBD><1C>S<EFBFBD>!<21>8<EFBFBD>
<12>.<2E>.<2E>
<1A>
<1A> <0C><13><1A><1A>+<2B>H<EFBFBD>5<>6<> <1B>

<EFBFBD>+<2B>z<EFBFBD>"<22>"<22><0E><13><16><16><04> <09> <09>"2<>3<>4<>;<3B>8<EFBFBD>Q<EFBFBD> <0E><15> <13>*<2A>4<EFBFBD>9<EFBFBD>9<EFBFBD>+<2B>Z<EFBFBD><03>M<EFBFBD>@R<>?S<>ST<53>U<>
<05><05>
<0F>x<EFBFBD><1F>$<24> <11>Y<EFBFBD>Y<EFBFBD>r<EFBFBD>3<EFBFBD>t<EFBFBD>9<EFBFBD>4<EFBFBD>><3E>><3E>D<EFBFBD>O<EFBFBD>O<EFBFBD>+K<>d<EFBFBD>n<EFBFBD>n<EFBFBD>+\<5C> ]<5D>(<28>
<EFBFBD>.<2E>.<2E><14><16> <13> <1D> <1D>f<EFBFBD>m<EFBFBD>m<EFBFBD>7<>7<><08>A<> B<>(<28><14><1E><1E>t<EFBFBD>V<EFBFBD>_<EFBFBD>_<EFBFBD>f<EFBFBD>o<EFBFBD>o<EFBFBD>v<EFBFBD><EFBFBD><EFBFBD>X^<5E>Xg<58>Xg<58>h<>)<29> <12>8<EFBFBD> <1C>$<24> <10>M<EFBFBD>M<EFBFBD>'<27> <20> <20>,<1A>'<27>-<2D>d<EFBFBD>j<EFBFBD>j<EFBFBD>9<><1C>$<24><05>v<EFBFBD>u<EFBFBD> <09>.<2E>.<2E><15><17>-<2D>d<EFBFBD>.?<3F>.?<3F>@<40><1C>$<24><05>v<EFBFBD>u<EFBFBD> <09>.<2E>.<2E><15><17>
<10>/<2F>/<2F>!<21>
<1C>%<25>
<10>/<2F>/<2F>!<21>
<1C>%<25><06>t<EFBFBD>T<EFBFBD>6<EFBFBD>#<23>#<23>E<EFBFBD>*<2A>F<EFBFBD>,<<3C>,<<3C>U<EFBFBD>,C<>D<>
<0F>+<2B>+<2B>%<25>
<0F>+<2B>+<2B>%<25>
<10>E<EFBFBD>
"<22>U<EFBFBD>
"<22> <13>(<28><14><19><19> <0B>3Q<33>R<> S<>S<>
<10>E<EFBFBD>
"<22>U<EFBFBD>
"<22> <13>(<28><14><19><19> <0B>3S<33>T<> U<>U<><11>( <20><05>u<EFBFBD>g<EFBFBD>6<>$<24>*<2A>&<26>u<EFBFBD>e<EFBFBD>W<EFBFBD>=<3D>$<24><13><>]
<11><0E><15><19><19>+<2B>,<2C>;<3B> <13> <20><14><19><19> <0B>3<EFBFBD>s<EFBFBD>e<EFBFBD>?<3F>;<3B>-<2D>O`<60>a<>
<05>
<0A><0E><><0E>s<00>#[0<00>0 \1<03>;1\,<03>,\1c<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r<>s<00><00><18><18>C<EFBFBD><18>D<EFBFBD>rc <09><><00>VPPV4pVf\RV R24hVPV4R#)N<>unknown word '<27>' during compile-time execution)r#rrr+)r7r<>rs&& r<00>_call_word_by_name<6D> CompileTimeVM._call_word_by_names<<00><00> <0A><1F><1F> <1F> <1F><04> %<25>$<24> <09>\<5C> <13>n<EFBFBD>T<EFBFBD>F<EFBFBD>*I<>J<> K<>K<><06>/<2F>/<2F>$<24>rc<01> <00>V^8<>dQhRRRR/#)r-<00>nodes<65>Sequence[ASTNode]r.r?r)r/s"rr0r<>s#<00><00>SC<01>SC<01>!2<>SC<01>t<EFBFBD>SCrc <09><><00>VPV4pVPV4pVPV4p.Vn.p^pV\ V48Ed<>W,p\ V\ 4'd'VPVP4V^, pKU\ V\4'Ed"VPpVR8XdAVPV4p V f \R4hVPRVRV /4V^, pK<>VR8XdCV'dVR,R,V8wd \R4hVR,R,^,pEKVR8Xd.V'g \R4hVR,R,^,pEK<VR 8Xd.V'd$VP4p
2025-12-11 20:07:10 +01:00
V
R,^,pEKnR#VPV4V^, pEK<>\ V\ 4'd<>VP4p \ V \"4'dT p M'\ V \$4'dV ^8gp M \R
4hV 'gVP'W'P(4pM V^, pEK#\ V\*4'dVP'W'P(4pEKW\ V\,4'd V^, pEKy\ V\.4'dqVP14p V ^8:d-VPV4pVf \R 4hV^,pEK<>VPPR V RVR V /4V^, pEK<>\ V\24'd<>VP'g \R4hVPR,p
V
R ;;,^,uu&V
R ,^8<>dV
2025-12-14 00:38:19 +01:00
R,^,pEK{VPP4V^, pEK<>\RV: 24hR#)r<><00>beginN<6E> 'begin' without matching 'again'r*<00>again<69> 'again' without matching 'begin'<27>continuez#'continue' outside begin/again loop<6F>exitz+branch expects integer or boolean conditionzinternal loop bookkeeping error<6F> remaining<6E>initial<61>'next' without matching 'for'z"unsupported compile-time AST node r<>)<1A>_label_positions<6E>
_for_pairs<EFBFBD> _begin_pairsrrOr\r<>r r<>rr<>rrrlr[r<>r<>r<>r&<00>_jump_to_labelr<6C>r<>r<>r<>rr<>)r7r<><00>label_positions<6E>
loop_pairs<EFBFBD> begin_pairs<72> begin_stack<63>ipr<70>r<><00>end_idx<64>frame<6D> condition<6F>flagr<67><00>matchs&& rr4<00>CompileTimeVM._execute_nodess<<00><00><18>)<29>)<29>%<25>0<>/<2F><13><EFBFBD><EFBFBD>u<EFBFBD>%<25>*<2A><14>!<21>!<21>%<25>(<28>+<2B><16>$<24>/<2F>&(<28>+<2B><08>"<22>
2025-12-11 20:07:10 +01:00
<EFBFBD>S<EFBFBD><15>Z<EFBFBD><0F>
<0F>)<29>4<EFBFBD><10><14>w<EFBFBD><1F><1F><08>I<EFBFBD>I<EFBFBD>d<EFBFBD>j<EFBFBD>j<EFBFBD><19><06>!<21>G<EFBFBD>B<EFBFBD> <0C><10><14>w<EFBFBD><1F><1F> <0F>9<EFBFBD>9<EFBFBD>D<EFBFBD> <0B>w<EFBFBD><EFBFBD><1A><EFBFBD><EFBFBD>r<EFBFBD>"<22>W<EFBFBD><0F><0F> <16>9<> :<3A>:<3A><10><17><17><17>"<22>e<EFBFBD>W<EFBFBD>5<>6<><07>1<EFBFBD>W<EFBFBD>R<EFBFBD> <0A> <0B>w<EFBFBD><EFBFBD> <17>;<3B>r<EFBFBD>?<3F>5<EFBFBD>1<>R<EFBFBD>7<> <16>9<> :<3A>:<3A>
<15>b<EFBFBD>/<2F>'<27>
"<22>Q<EFBFBD>
&<26>R<EFBFBD> <0A> <0B>z<EFBFBD><19> <17> <16><<3C> =<3D>=<3D>
<15>b<EFBFBD>/<2F>'<27>
"<22>Q<EFBFBD>
&<26>R<EFBFBD> <0A> <0B>v<EFBFBD>~<7E><13><19>o<EFBFBD>o<EFBFBD><1F>e<EFBFBD> <10><15><<3C>!<21> <1B>b<EFBFBD><0E> <0B><08><1B><1B>D<EFBFBD>!<21><06>!<21>G<EFBFBD>B<EFBFBD> <0C><10><14>z<EFBFBD>"<22>"<22><14><08><08>
<EFBFBD>I<EFBFBD><11>)<29>T<EFBFBD>"<22>"<22> <15>T<EFBFBD> <13>I<EFBFBD>s<EFBFBD> #<23> #<23> <15><11>N<EFBFBD>T<EFBFBD> <15>C<> D<>D<> <0F>
<0E>
<1D>
<1D>o<EFBFBD>{<7B>{<7B>
;<3B>R<EFBFBD><07>1<EFBFBD>W<EFBFBD>R<EFBFBD> <0C><10><14>t<EFBFBD><1C><1C> <0A> <1C> <1C>_<EFBFBD>k<EFBFBD>k<EFBFBD> :<3A>B<EFBFBD> <0C><10><14>u<EFBFBD><1D><1D><06>!<21>G<EFBFBD>B<EFBFBD> <0C><10><14>x<EFBFBD> <20> <20> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD>E<EFBFBD> <0C><01>z<EFBFBD> <17>^<5E>^<5E>B<EFBFBD> <1F>U<EFBFBD> <0A> <0A> <16>8<> 9<>9<>
<0F>!<21>)<29>R<EFBFBD> <0A><08>O<EFBFBD>O<EFBFBD><1A><1A>K<EFBFBD><15><07><12>Y<EFBFBD><05>N<>O<><06>!<21>G<EFBFBD>B<EFBFBD> <0C><10><14>w<EFBFBD><1F><1F> <0F>?<3F>?<3F>?<3F> <15>5<> 6<>6<> <10>O<EFBFBD>O<EFBFBD>B<EFBFBD> <1F>E<EFBFBD> <09>+<2B><16>!<21><1B><16> <0C>[<5B><19>A<EFBFBD><1D>
<0F><07>.<2E>1<EFBFBD>
2025-12-14 00:38:19 +01:00
<1C>R<EFBFBD> <0A><08>O<EFBFBD>O<EFBFBD><17><17><19><06>!<21>G<EFBFBD>B<EFBFBD> <0C> <13>8<><14><08>A<> B<>B<>Y rc<01> <00>V^8<>dQhRRRR/#)r-r<>r<>r.<00>Dict[str, int]r)r/s"rr0r<>is<00><00><13><13>#4<><13><1E>rc <09>~<00>/p\V4F+wr4\V\4'gKW2VP&K- V#r^)<04> enumerater\r<>r<>)r7r<><00> positionsr<73>r<>s&& rr<><00>CompileTimeVM._label_positionsis9<00><00> <20>)<29><1C>U<EFBFBD>#<23>i<EFBFBD>c<EFBFBD><10><14>u<EFBFBD><1D><1D><1E>d<EFBFBD>i<EFBFBD>i<EFBFBD><18>$<24>
<13>rc<01> <00>V^8<>dQhRRRR/#<00>r-r<>r<>r.zDict[int, int]r)r/s"rr0r<>ps<00><00><0F><0F>.<2E><0F>><3E>rc <09>4<00>.p/p\V4FqwrE\V\4'dVPV4K.\V\4'gKFV'g \ R4hVP 4pWCV&WcV&Ks V'd \ R4hV#)r<>z'for' without matching 'next')r<>r\r<>rlr<>rr[<00>r7r<>r<00>pairsr<73>r<><00> begin_idxs&& rr<><00>CompileTimeVM._for_pairsps<><00><00><17>%<25><1C>%<25><1C>U<EFBFBD>#<23>i<EFBFBD>c<EFBFBD><10><14>x<EFBFBD> <20> <20> <09>L<EFBFBD>L<EFBFBD><13><15><12>4<EFBFBD><17>!<21>!<21> <10> <15>5<> 6<>6<><15> <09> <09> <0B>I<EFBFBD><1A>)<29><14><1A>#<23>J<EFBFBD>$<24> <0B> <13>3<> 4<>4<> <0E>,rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r<><00>s<00><00><0F><0F>0<><0F>^<5E>rc <09>|<00>.p/p\V4F<>wrE\V\4'd%VPR8XdVP V4K?\V\4'gKWVPR8XgKjV'g \ R4hVP 4pWCV&WcV&K<> V'd \ R4hV#)r<>r<>r<>r<>)r<>r\rr<>rlrr[r<>s&& rr<><00>CompileTimeVM._begin_pairs<72>s<><00><00><17>%<25><1C>%<25><1C>U<EFBFBD>#<23>i<EFBFBD>c<EFBFBD><10><14>w<EFBFBD><1F><1F>D<EFBFBD>I<EFBFBD>I<EFBFBD><17>$8<> <09>L<EFBFBD>L<EFBFBD><13><15><12>4<EFBFBD><17>!<21>!<21>d<EFBFBD>i<EFBFBD>i<EFBFBD>7<EFBFBD>&:<3A> <10> <15>8<> 9<>9<><15> <09> <09> <0B>I<EFBFBD><1A>)<29><14><1A>#<23>J<EFBFBD>$<24> <0B> <13>6<> 7<>7<> <0E>,rc<01>$<00>V^8<>dQhRRRRRR/#)r-<00>labelsr<73>r<>r$r.r&r)r/s"rr0r<><00>s!<00><00><18><18>.<2E><18>#<23><18>#<23>rc <09><<00>W!9d\RV R24hW,#)zunknown label 'r<><00>r)r7r<>r<>s&&&rr<><00>CompileTimeVM._jump_to_label<65>s%<00><00> <0B><19> <13>o<EFBFBD>f<EFBFBD>X<EFBFBD>-L<>M<> N<>N<> <0F><1E>r)rr#rr<>rrN)rrrrrQrr r[rrrr#r'rjr<>r+r3r<>r4r<>r<>r<>r<>rrrrr0r0sk<00><00>#<23><18> <1B><1A>
2025-12-11 20:07:10 +01:00
<18>
2025-12-14 00:38:19 +01:00
<0F> <0F> <0F> <0F> <18><18> '<27>@><3E>D<18> SC<01>j<13><0F> <0F> <18>rr0c<01>x<00>]tRtRt$]!]R7tR]R&]!]R7tR]R&]!]R7t R]R&RRlt
2025-12-11 20:07:10 +01:00
R t R
2025-12-14 00:38:19 +01:00
#) <0B>Emissioni<6E>r r<><00>text<78>data<74>bssc<01><00>V^8<>dQhRR/#r,r)r/s"rr0<00>Emission.__annotate__<5F>s<00><00><1A><1A>s<EFBFBD>rc <09>H<00>.pVP'dVPR.VPO4VP'dVPR.VPO4VP'dVPR.VPO4RP V4#)z section .textz section .dataz section .bssrg)r<>r|r<>r<>rj)r7r<>s& r<00>snapshot<6F>Emission.snapshot<6F>sy<00><00><17>%<25> <09>Y<EFBFBD>Y<EFBFBD>Y<EFBFBD><08><<3C><<3C><1F>-<2D>4<EFBFBD>9<EFBFBD>9<EFBFBD>-<2D>.<2E> <09>Y<EFBFBD>Y<EFBFBD>Y<EFBFBD><08><<3C><<3C><1F>-<2D>4<EFBFBD>9<EFBFBD>9<EFBFBD>-<2D>.<2E> <09>X<EFBFBD>X<EFBFBD>X<EFBFBD><08><<3C><<3C><1E>+<2B>$<24>(<28>(<28>+<2B>,<2C> <0A><19><19>5<EFBFBD> <19>rrN) rrrrrr<>r<>r:r<>r<>r<>rrrrr<>r<><00>s9<00><00><18><14>.<2E><14>y<EFBFBD>.<2E><18><14>.<2E><14>y<EFBFBD>.<2E><17><04>-<2D><13>i<EFBFBD>-<2D><1A>rr<>c<01>n<00>]tRtRtRtRRltRRltRRltR R
2025-12-11 20:07:10 +01:00
ltR R lt R Rlt
2025-12-14 00:38:19 +01:00
RRlt Rt R#)r<>i<>z'Utility for emitting per-word assembly.c<01> <00>V^8<>dQhRRRR/#)r-r<>r<>r.r?r)r/s"rr0<00>FunctionEmitter.__annotate__<5F>s<00><00><13><13>)<29><13><04>rc <09><00>WnR#r^<00>r<>)r7r<>s&&rrQ<00>FunctionEmitter.__init__<5F>s<00><00><12>)rc<01> <00>V^8<>dQhRRRR/#)r-r'r$r.r?r)r/s"rr0r<><00>s<00><00><19><19>c<EFBFBD><19>d<EFBFBD>rc <09><<00>VPPV4R#r^<00>r<>rl)r7r's&&r<00>emit<69>FunctionEmitter.emit<69>s<00><00><06>)<29>)<29><12><12>4<EFBFBD>rc<01> <00>V^8<>dQhRRRR/#)r-<00>messager$r.r?r)r/s"rr0r<><00>s<00><00>'<27>'<27>C<EFBFBD>'<27>D<EFBFBD>'rc <09>B<00>VPPRV 24R#)z ; Nr<4E>)r7r<>s&&r<00>comment<6E>FunctionEmitter.comment<6E>s<00><00><06>)<29>)<29><12><12>V<EFBFBD>G<EFBFBD>9<EFBFBD>%<25>&rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r<><00>s<00><00><05><05>s<EFBFBD><05>t<EFBFBD>rc <09>N<00>VPPRV 2RRV 2.4R#<00>z ; push <20> sub r12, 8z mov qword [r12], N<>r<>r|r<>s&&r<00> push_literal<61>FunctionEmitter.push_literal<61><00>0<00><00><06>)<29>)<29><12><12><10><15><07><18><13><1A>5<EFBFBD>'<27>"<22><04>rc<01> <00>V^8<>dQhRRRR/#)r-r<>r$r.r?r)r/s"rr0r<><00>s<00><00><05><05>S<EFBFBD><05>T<EFBFBD>rc <09>N<00>VPPRV 2RRV 2.4R#rr)r7r<>s&&r<00>
push_label<EFBFBD>FunctionEmitter.push_label<65>r
rc<01> <00>V^8<>dQhRRRR/#<00>r-rr$r.r?r)r/s"rr0r<><00>s<00><00><05><05>s<EFBFBD><05>t<EFBFBD>rc <09>F<00>VPPRRV 2.4R#)rz mov [r12], Nr<00>r7rs&&r<00> push_from<6F>FunctionEmitter.push_from<6F>s&<00><00><06>)<29>)<29><12><12><13><14>X<EFBFBD>J<EFBFBD><1F><04>rc<01> <00>V^8<>dQhRRRR/#rr)r/s"rr0r<><00>s<00><00><05><05>C<EFBFBD><05>D<EFBFBD>rc <09>H<00>VPPRV R2R.4R#)z mov z, [r12]<5D> add r12, 8Nrrs&&r<00>pop_to<74>FunctionEmitter.pop_to<74>s(<00><00><06>)<29>)<29><12><12> <0A>h<EFBFBD>Z<EFBFBD>w<EFBFBD><1F><13><04>rr<>N) rrrrrrQr<>rrr rrrrrrr<>r<><00>s-<00><00>.<2E><13><19>'<27><05><05><05> <05>rc<01> <00>V^8<>dQhRRRR/#)r-r<>r$r.r)r/s"rr0r0<00>s<00><00><17><17><13><17><13>rc<01><><00>.pVFQpVP4'gVR8XdVPV4K3VPR\V4R 24KS RPV4;'gRpRV 2#)r<><00>02xrf<00>anon<6F>word_)<04>isalnumrl<00>ordrj)r<>r<>rw<00>safes& r<00>sanitize_labelr"<00>sj<00><00><16><15> <0F>R<EFBFBD><07>Z<EFBFBD>Z<EFBFBD>\<5C>\<5C>R<EFBFBD>3<EFBFBD>Y<EFBFBD><08><<3C><<3C><02><13><08><<3C><<3C>!<21>C<EFBFBD><02>G<EFBFBD>C<EFBFBD>=<3D>!<21>"<22> <10>
2025-12-11 20:07:10 +01:00
<0B><07><07><05><0E> <20> <20>&<26><14>
2025-12-14 00:38:19 +01:00
<0F><04>v<EFBFBD><0E>rc<01> <00>V^8<>dQhRRRR/#)r-r<>r$r.r<>r)r/s"rr0r0<00>s<00><00>6<>6<><13>6<><14>6rc<01><><00>V'gR#V^,pVP4'g
VR8XgR#\;QJdRV4F 'dK R# R#!RV44#)Fr<46>c3<01>Z"<00>TF!qP4;'gVR8Hx<00>K# R#5i)r<>N)r)r<rws& rr><00>!_is_identifier.<locals>.<genexpr><3E>s#<00><00><00> 5<><04>"<22>J<EFBFBD>J<EFBFBD>L<EFBFBD> %<25> %<25>B<EFBFBD>#<23>I<EFBFBD> %<25><04>s<00>+<01>+T)rm<00>all)r<><00>firsts& r<00>_is_identifierr)<00>sN<00><00> <0C> <0E> <0A>a<EFBFBD><17><15> <0E><1D><1D><1F><1F>E<EFBFBD>S<EFBFBD>L<EFBFBD> <0E> <0B><03> 5<><04> 5<><03><03>5<><03>5<><03> 5<><04> 5<>5<>5rc<01> <00>V^8<>dQhRRRR/#)r-r]r#r.r<>r)r/s"rr0r0<00>s<00><00>$<18>$<18><15>$<18>=<3D>$rc<01>L<00>VPp\V4^8gV^,R8wgVR,R8wdR#V^Rp.p^pV\V48EdAW$,pVR8wdVPV4V^, pK<V^, pV\V48<>d&\RVP RVP
2025-12-11 20:07:10 +01:00
24hW$,pV^, pVR8XdVPR4K<>VR8XdVPR 4K<>VR
8XdVPR 4K<>VR 8XdVPR 4K<>VR8XdVPR4EKVR8XdVPR4EK)\RV RVP RVP
2025-12-14 00:38:19 +01:00
24hRP V4#)r-reNrhz2unterminated escape sequence in string literal at r4<00>nrg<00>t<> <09>r<> <0A>0<>zunsupported escape sequence '\z' in string literal at rfr<>)r%rOrlrr'r(rj)r]r<>r<><00>resultr<74>ru<00>escapes& rr<>r<><00>sr<00><00> <0A> <0C> <0C><14><07><04>I<EFBFBD><01>M<EFBFBD>T<EFBFBD>!<21>W<EFBFBD><03>^<5E>t<EFBFBD>B<EFBFBD>x<EFBFBD>3<EFBFBD><EFBFBD> <0A> <0C>Q<EFBFBD>r<EFBFBD>
2025-12-11 20:07:10 +01:00
<EFBFBD><14><17><16><08><13>
<EFBFBD>S<EFBFBD><14>Y<EFBFBD><EFBFBD> <0A><19>$<24> <09>T<EFBFBD>\<5C> <09>=<3D>=<3D><14><16><06>!<21>8<EFBFBD>3<EFBFBD> <0B><05><11>(<28>#<23><08>C<EFBFBD><04>I<EFBFBD><15> <13>8<><15><1A><1A> <0C>A<EFBFBD>e<EFBFBD>l<EFBFBD>l<EFBFBD>^<5E>T<>
<05><05> <10>9<EFBFBD>&<26><05><11>(<28>#<23> <0B>s<EFBFBD>]<5D> <09>=<3D>=<3D><14><16> <0A><13>}<7D> <09>=<3D>=<3D><14><16> <0A><13>}<7D> <09>=<3D>=<3D><14><16> <0A><13>}<7D> <09>=<3D>=<3D><14><16> <0A><13>}<7D> <09>=<3D>=<3D><13><15> <0A><14>~<7E> <09>=<3D>=<3D><14><16> <13>%<25>f<EFBFBD>X<EFBFBD>-D<>U<EFBFBD>Z<EFBFBD>Z<EFBFBD>L<EFBFBD>PQ<50>RW<52>R^<5E>R^<5E>Q_<51>`<60>
2025-12-14 00:38:19 +01:00
<05><05> <0B><07><07><06><0F>rc<01>><00>]tRtRtRtRRltRRltRRltR tR
#) rizDKeeps Python object references stable across compile-time asm calls.c<01><00>V^8<>dQhRR/#r>r)r/s"rr0<00>_CTHandleTable.__annotate__s<00><00>4<>4<>t<EFBFBD>4rc <09>0<00>/Vn.Vn.VnR#r^<00>rorz<00>string_buffersr6s&rrQ<00>_CTHandleTable.__init__s<00><00>!#<23>$<24>,<2C><1B>$<24>)<29>13<31>$<24>rc<01><00>V^8<>dQhRR/#r>r)r/s"rr0r7s<00><00><1E><1E>D<EFBFBD>rc <09><><00>VPP4VPP4VPP4R#r^)rorkrzr:r6s&rrk<00>_CTHandleTable.clears2<00><00><06>,<2C>,<2C><14><14><16><06>)<29>)<29>/<2F>/<2F><13><06><15><15><1B><1B>rc<01> <00>V^8<>dQhRRRR/#)r-r<>rr.r&r)r/s"rr0r7s<00><00><0E><0E><03><0E><03>rc <09><><00>\P!V4pVPPV4\P!V4pWP
V&V#r^)rZ<00> py_objectrzrlr\ro)r7r<><00>py_objres&& rr^<00>_CTHandleTable.storesE<00><00> <11> <1B> <1B>E<EFBFBD> "<22>&<26><06>)<29>)<29><12><12>6<EFBFBD><1A> <0F> <19> <19>&<26> !<21>$<24><1C>,<2C>,<2C>t<EFBFBD><14> <0A>+rr9N) rrrrrrQrkr^rrrrrrs<00><00>K<>4<>
<1E>
<0E>rrc<01><><00>]tRtRtRRltRRltRRltRR ltR
2025-12-11 20:07:10 +01:00
R ltR R lt RRlt
2025-12-14 00:38:19 +01:00
RRlt RRlt RRlt RRltRRltRRltRRltRtR#) <20> Assembleri$c<01> <00>V^8<>dQhRRRR/#<00>r-r#r r.r?r)r/s"rr0<00>Assembler.__annotate__%s<00><00>1<>1<>
<EFBFBD>1<>t<EFBFBD>1rc <09>J<00>WnRVn^<5E>Vn/VnRVnR#)iN)r#<00> stack_bytes<65>io_buffer_bytes<65>_string_literals<6C> _data_section)r7r#s&&rrQ<00>Assembler.__init__%s'<00><00><1E>/<2F><1A>$<24><12><1C>$<24><16>68<36>$<24><17>,0<>$<24>rc<01> <00>V^8<>dQhRRRR/#)r-r^r<>r.r<>r)r/s"rr0rH,s<00><00><12><12><06><12>8<EFBFBD>rc <09>.<00>\4pVPPVP44/VnVP
Vn\\3pVPUu.uFp\WC4'gKVNK ppVPUu.uFp\WC4'dKVNK ppV'd \R4hVUu.uFp\VRR4'dKVNK pp\;QJdRV4F 'gK RM RM !RV44'g \R4hVFp VPW<>P4K VP esVP 'gVP PR4VP 'dVP R ,R8wdVP PR4VP PVP#44RVnV#uupiuupiuupi)
z;top-level literals or word references are not supported yetr<74>Fc3<01>>"<00>TFqPR8Hx<00>K R#5i)<02>mainNr<4E>)r<<00>defns& rr><00>!Assembler.emit.<locals>.<genexpr>;s<00><00><00> :<3A>\<5C>T<EFBFBD>Y<EFBFBD>Y<EFBFBD>&<26> <20>\<5C>s<00>Tzmissing 'main' definitionN<6E> data_start:z data_end:r<>)r<>r<>r|<00>_runtime_preluderLr<>rMr<>r<>r<>r\r!<00>getattrrw<00>_emit_definitionrlr<><00> _bss_layout)
r7r^<00>emission<6F>
valid_defs<EFBFBD>form<72> definitions<6E> stray_formsrS<00> runtime_defsrs
&& rr<><00>Assembler.emit,s<><00><00> <15>Z<EFBFBD>(<28>
<EFBFBD>-<2D>-<2D><16><16>t<EFBFBD>,<2C>,<2C>.<2E>/<2F><1C>$<24><17><1F>}<7D>}<7D>$<24><14><1A>M<EFBFBD>*<2A>*<2A>"(<28>,<2C>,<2C>O<>,<2C>$<24>*<2A>T<EFBFBD>2N<32><14><14>,<2C>+<2B>O<>"(<28>,<2C>,<2C>S<>,<2C>$<24>j<EFBFBD><14>6R<36><14><14>,<2C>+<2B>S<><10> <15>S<> T<>T<> <20><04><1F>D<EFBFBD>w<EFBFBD>t<EFBFBD>^<5E>U<EFBFBD>'K<>4<EFBFBD>4<EFBFBD>K<EFBFBD><0F><04>
<0A><13> :<3A>\<5C> :<3A><13><13><13> :<3A>\<5C> :<3A> :<3A> :<3A> <15>1<> 2<>2<> <20>j<EFBFBD><07><18><18><1A>]<5D>]<5D>3<>!<21>
<EFBFBD><17><17>#<23>
<0E>
<1C>
<1C>
<1C><08><16><16><1D><1D>m<EFBFBD>,<2C>
<0E>
<1C>
<1C>
<1C><04> 2<> 2<>2<EFBFBD> 6<>+<2B> E<><08><16><16><1D><1D>k<EFBFBD>*<2A>
<EFBFBD>,<2C>,<2C><15><15>d<EFBFBD>&<26>&<26>(<28>)<29><1B>$<24><14> <11>/<2F><>+P<01><>S<><53>s$<00>&H<04>>H<04>H <04>,H <04> H<04>%Hc<01><00>V^8<>dQhRR/#r>r)r/s"rr0rHJs<00><00>,<2C>,<2C><14>,rc <09><><00>VPf \R4hVP'gVPPR4R#R#)Nzdata section is not initializedrU)rMr!rlr6s&r<00>_ensure_data_start<72>Assembler._ensure_data_startJs?<00><00> <09><17><17><1F> <15>7<> 8<>8<> <0A> <1B> <1B> <1B><07><15><15><1C><1C>]<5D>+<2B>
rc<01> <00>V^8<>dQhRRRR/#)r-r<>r$r.zTuple[str, int]r)r/s"rr0rHPs<00><00> &<26> &<26><13> &<26><1F> &rc <09>.<00>VPf \R4hVP4WP9dVPV,#R\ VP4 2pVP R4p\ V4^.,pRPRV44pVPPV RV 24VPPV R\ V4 24V\ V43VPV&VPV,#)Nz6string literal emission requested without data section<6F>str_rBz, c3<01>8"<00>TFp\V4x<00>K R#5ir^)r$)r<<00>bs& rr><00>3Assembler._intern_string_literal.<locals>.<genexpr>Ys<00><00><00>7<><0E>1<EFBFBD><03>A<EFBFBD><06><06><0E>s<00>z: db z _len equ ) rMr!rcrLrOrxr<>rjrl)r7r<>r<>r<><00>bytes_with_nul<75> byte_lists&& r<00>_intern_string_literal<61> Assembler._intern_string_literalPs<><00><00> <09><17><17><1F> <15>N<> O<>O<><06><19><19><1B>
<EFBFBD>#<23>#<23>#<23>
<0E>
<1F>
<1F><05>
&<26>&<26> <10><13>T<EFBFBD>*<2A>*<2A>+<2B>,<2C>
-<2D>%<25> <11>L<EFBFBD>L<EFBFBD><17> !<21>'<27><17><07>=<3D>A<EFBFBD>3<EFBFBD>&<26>.<2E><12>i<EFBFBD>i<EFBFBD>7<><0E>7<>7<>)<29><06><14><14><1B><1B>u<EFBFBD>g<EFBFBD>U<EFBFBD>9<EFBFBD>+<2B>6<>7<><06><14><14><1B><1B>u<EFBFBD>g<EFBFBD>Y<EFBFBD>s<EFBFBD>7<EFBFBD>|<7C>n<EFBFBD>=<3D>><3E>"'<27><13>W<EFBFBD><1C>!6<>$<24><17><17><05><1E> <0A> <1E> <1E>u<EFBFBD> %<25>%rc<01>$<00>V^8<>dQhRRRRRR/#)r-rz Union[Definition, AsmDefinition]r<>r<>r.r?r)r/s"rr0rH_s$<00><00> <1A> <1A>(H<> <1A>PY<50> <1A>^b<> rc <09>l<00>\VP4pVPV R24\V4p\ V\
4'd&VP FpVPWT4K M3\ V\4'dVPW4M \R4hVPR4R#)r4zunknown definition typeruN) r"r<>rlr<>r\r<>r<><00>
_emit_noder<EFBFBD><00>_emit_asm_bodyr!r<>)r7rr<>r<><00>builderr<72>s&&& rrX<00>Assembler._emit_definition_s<><00><00>
2025-12-11 20:07:10 +01:00
<18><1A><1F><1F>
)<29>%<25><06>+<2B>+<2B><15><07>q<EFBFBD>k<EFBFBD><1A> <1B>D<EFBFBD> !<21>'<27><0F>
2025-12-14 00:38:19 +01:00
<EFBFBD>J<EFBFBD>'<27>'<27><19><EFBFBD><EFBFBD>t<EFBFBD><08>O<EFBFBD>O<EFBFBD>D<EFBFBD>"<22><1F><11>*<2A>m<EFBFBD>,<2C>,<2C><07><16><16>z<EFBFBD>+<2B> <15>/<2F> 0<>0<> <09>,<2C>,<2C>y<EFBFBD>rc<01>$<00>V^8<>dQhRRRRRR/#)r-rr<>rsr<>r.r?r)r/s"rr0rHls"<00><00><15><15>m<EFBFBD><15>o<EFBFBD><15>RV<52>rc <09><><00>VPPR4pV'gR#VP4F=pVP4'dVPV4K,VPR4K? R#)rgNrf)r<>rvr}r<>)r7rrsr<>r's&&& rrr<00>Assembler._emit_asm_bodylsP<00><00> <13><1F><1F> <1E> <1E>t<EFBFBD> $<24>$<24> <0A> <09><12>o<EFBFBD>o<EFBFBD><1F>d<EFBFBD>
<EFBFBD>j<EFBFBD>j<EFBFBD>l<EFBFBD>l<EFBFBD> <0B>L<EFBFBD>L<EFBFBD><14><16> <0B>L<EFBFBD>L<EFBFBD><12><14>  rc<01>$<00>V^8<>dQhRRRRRR/#)r-r<>r}rsr<>r.r?r)r/s"rr0rHvs!<00><00>7<>7<>G<EFBFBD>7<>o<EFBFBD>7<>$<24>7rc <09><><00>\V\4'd<>\VP\4'dVP VP4R#\VP\
4'dBVP VP4wr4VPV4VP V4R#\R\VP4: 24h\V\4'dVPW4R#\V\4'dVPW4R#\V\4'd!VPRVP 24R#\V\"4'd!VPVP$ R24R#\V\&4'dVP)W4R#\V\*4'dVP-W4R#\RV: 24h)Nzunsupported literal type z jmp r4zunsupported AST node )r\r<>r<>r&rr$rmr r!r<>r<00> _emit_wordrefr<66><00>_emit_branch_zeror<6F>r<>r<>r<>r<>r<><00>_emit_for_beginr<6E><00>_emit_for_next)r7r<>rsr<>r<>s&&& rrq<00>Assembler._emit_nodevsp<00><00><0F><04>g<EFBFBD><1E><1E><10><14><1A><1A>S<EFBFBD>!<21>!<21> <0B><18><18><14><1A><1A>$<24>
<EFBFBD><10><14><1A><1A>S<EFBFBD>!<21>!<21><18>/<2F>/<2F><04>
<EFBFBD>
<EFBFBD>;<3B>M<EFBFBD>E<EFBFBD> <0B><16><16>u<EFBFBD><1D> <0B><18><18><16> <20>
<EFBFBD> <15>1<>$<24>t<EFBFBD>z<EFBFBD>z<EFBFBD>2B<32>1E<31>F<> G<>G<><0F><04>g<EFBFBD><1E><1E><07><15><15>d<EFBFBD>$<24> <09><0F><04>j<EFBFBD>!<21>!<21><07><19><19>$<24>(<28> <09><0F><04>d<EFBFBD><1B><1B>
2025-12-11 20:07:10 +01:00
<EFBFBD><<3C><<3C>(<28>4<EFBFBD>;<3B>;<3B>-<2D>(<28>)<29> <09><0F><04>e<EFBFBD><1C><1C>
2025-12-14 00:38:19 +01:00
<EFBFBD><<3C><<3C>4<EFBFBD>9<EFBFBD>9<EFBFBD>+<2B>Q<EFBFBD><0F> <20> <09><0F><04>h<EFBFBD><1F><1F><07><17><17><04>&<26> <09><0F><04>g<EFBFBD><1E><1E><07><16><16>t<EFBFBD>%<25> <09><14>,<2C>T<EFBFBD>H<EFBFBD>5<>6<>6rc<01>$<00>V^8<>dQhRRRRRR/#)r-<00>refrrsr<>r.r?r)r/s"rr0rH<00>s!<00><00> 7<> 7<>g<EFBFBD> 7<><0F> 7<>D<EFBFBD> 7rc <09>x<00>VPPVP4pVf\RVP R24hVP'd\RVP R24hVP
'dVP V4R#VP R\VP4 24R#)Nr<4E>r<>r2<00>' is compile-time onlyz call )r#rr<>r!r<>rr<>r")r7r<>rsrs&&& rrz<00>Assembler._emit_wordref<65>s<><00><00> <0A><1F><1F> <1F> <1F><03><08><08> )<29>$<24> <09>\<5C> <15><0E>s<EFBFBD>x<EFBFBD>x<EFBFBD>j<EFBFBD><01>2<> 3<>3<> <09><16><16><16> <15><06>s<EFBFBD>x<EFBFBD>x<EFBFBD>j<EFBFBD>(><3E>?<3F> @<40>@<40> <09>^<5E>^<5E>^<5E><07>><3E>><3E>'<27><1A> <09> <09>,<2C>,<2C><19>><3E>#<23>(<28>(<28>3<>4<>5<>6rc<01>$<00>V^8<>dQhRRRRRR/#)r-r<>r<>rsr<>r.r?r)r/s"rr0rH<00>s!<00><00>(<28>(<28>:<3A>(<28><0F>(<28>D<EFBFBD>(rc <09><><00>VPR4VPR4VPRVP 24R#)<04>raxz test rax, raxz jz N)rr<>r<><00>r7r<>rss&&&rr{<00>Assembler._emit_branch_zero<72>s2<00><00> <09>.<2E>.<2E><15><17> <09>,<2C>,<2C>"<22>#<23> <09>,<2C>,<2C><17><14><1B><1B> <0A>&<26>'rc<01>$<00>V^8<>dQhRRRRRR/#)r-r<>r<>rsr<>r.r?r)r/s"rr0rH<00>s!<00><00>&<26>&<26><18>&<26>O<EFBFBD>&<26><04>&rc <09><00>VPR4VPR4VPRVP 24VPR4VPR4VPVP R24R#)r<>z cmp rax, 0z jle z sub r13, 8<> mov [r13], raxr4N)rr<>r<>r<>r<>s&&&rr|<00>Assembler._emit_for_begin<69>se<00><00> <09>.<2E>.<2E><15><17> <09>,<2C>,<2C><1F> <20> <09>,<2C>,<2C><18>$<24>.<2E>.<2E>)<29>*<2A>+<2B> <09>,<2C>,<2C><1F> <20> <09>,<2C>,<2C>#<23>$<24> <09>,<2C>,<2C>$<24>/<2F>/<2F>"<22>!<21>$<24>%rc<01>$<00>V^8<>dQhRRRRRR/#)r-r<>r<>rsr<>r.r?r)r/s"rr0rH<00>s!<00><00>%<25>%<25><07>%<25>/<2F>%<25>d<EFBFBD>%rc <09><00>VPR4VPR4VPR4VPRVP 24VPR4VPVP R24R#)z mov rax, [r13]z dec raxr<78>z jg z add r13, 8r4N)r<>r<>r<>r<>s&&&rr}<00>Assembler._emit_for_next<78>se<00><00> <09>,<2C>,<2C>#<23>$<24> <09>,<2C>,<2C>}<7D><1D> <09>,<2C>,<2C>#<23>$<24> <09>,<2C>,<2C><17><14><1F><1F>)<29>*<2A>+<2B> <09>,<2C>,<2C><1F> <20> <09>,<2C>,<2C>$<24>.<2E>.<2E>!<21><11>#<23>$rc<01><00>V^8<>dQhRR/#<00>r-r.r<>r)r/s"rr0rH<00>s<00><00><04><04>y<EFBFBD>rc <09>
<00>.RO#)<02>%define DSTK_BYTES 65536)r<>z%define RSTK_BYTES 65536z%define PRINT_BUF_BYTES 128z global _startz_start:z+ ; initialize data/return stack pointersz lea r12, [rel dstack_top]z mov r15, r12z lea r13, [rel rstack_top]z call word_mainz mov rax, 0z cmp r12, r15z je .no_exit_valuez mov rax, [r12]rz.no_exit_value:z mov rdi, raxz mov rax, 60z syscallrr6s&rrV<00>Assembler._runtime_prelude<64>s <00><00>
<04>rc<01><00>V^8<>dQhRR/#r<>r)r/s"rr0rH<00>s<00><00> <04> <04>)<29> rc <09>
<00>.RO#)<02>align 16) r<>zdstack: resb DSTK_BYTESz dstack_top:r<>zrstack: resb RSTK_BYTESz rstack_top:r<>zprint_buf: resb PRINT_BUF_BYTESzprint_buf_end:rr6s&rrY<00>Assembler._bss_layout<75>s <00><00>
2025-12-11 20:07:10 +01:00
<04>
2025-12-14 00:38:19 +01:00
rc<01>$<00>V^8<>dQhRRRRRR/#)r-rZr<><00>pathrr.r?r)r/s"rr0rH<00>s!<00><00>'<27>'<27>x<EFBFBD>'<27>t<EFBFBD>'<27><04>'rc <09>D<00>VPVP44R#r^)<02>
write_textr<EFBFBD>)r7rZr<>s&&&r<00> write_asm<73>Assembler.write_asm<73>s<00><00><06>/<2F>/<2F>(<28>#<23>#<23>%<25>&r)rMrLr#rKrJN)rrrrrQr<>rcrmrXrrrqrzr{r|r}rVrYr<>rrrrrErE$sN<00><00>1<><12><,<2C> &<26> <1A><15>7<>@ 7<>(<28>
&<26>%<25><04>. <04>'<27>'rrEc<01> <00>V^8<>dQhRRRR/#<00>r-r<>r<>r.zOptional[List[ASTNode]]r)r/s"rr0r0<00>s<00><00> <0A> <0A><1C> <0A>*A<> rc<01><><00>VPpVP4pVf \R4hRVnVPeRVPnR#)Nz$'immediate' must follow a definitionT)r<>r<>rr<>r<00>r<>r<>rs& r<00>macro_immediater<65><00>sJ<00><00>
<0A>*<2A>*<2A><16><0E>%<25>%<25>'<27><14><08>L<EFBFBD><12>9<>:<3A>:<3A><16><14><1E><08>O<EFBFBD>O<EFBFBD><1F>"<22>$<24>/<2F>/<2F><1B> rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0<00>s<00><00> <0A> <0A>L<EFBFBD> <0A>-D<> rc<01><><00>VPpVP4pVf \R4hRVnVPeRVPnR#)Nz''compile-only' must follow a definitionT)r<>r<>rr<>rr<>s& r<00>macro_compile_onlyr<79><00>sK<00><00>
<0A>*<2A>*<2A><16><0E>%<25>%<25>'<27><14><08>L<EFBFBD><12><<3C>=<3D>=<3D><19><14><12><08>O<EFBFBD>O<EFBFBD><1F>!%<25>$<24>/<2F>/<2F><1E> rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0<00>s<00><00> <0A> <0A>L<EFBFBD> <0A>-D<> rc<05><><00>VPpVP4'd \R4hVP4pVPpVP
P V4pVf\RV R24hVP'd\RV R24hVPPV4VP\VR74R#)z@Run the next word at compile time and still emit it for runtime.z&word name missing after 'compile-time'Nr<4E>z' for compile-timer2r<>r<>) r<>r=rr<>r%r#rr<>r1rjr<>r)r<>r<>rXr<>rs& r<00>macro_compile_timer<65><00>s<><00><00>
<0A>*<2A>*<2A><16>
<EFBFBD>K<EFBFBD>K<EFBFBD>M<EFBFBD>M<EFBFBD><12>;<3B><<3C><<3C> <0A><18><18><1A><13> <0B>
<EFBFBD>
<EFBFBD><14><0E><19><19> <20> <20><14>&<26><14><08>L<EFBFBD><12>^<5E>D<EFBFBD>6<EFBFBD>);<3B><<3C>=<3D>=<3D><08><15><15><15><12>V<EFBFBD>D<EFBFBD>6<EFBFBD>!7<>8<>9<>9<><07><17><17><1E><1E>t<EFBFBD>$<24><07><11><11>'<27>t<EFBFBD>$<24>%<25> rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0
s<00><00> <0A> <0A> <0C> <0A>1H<31> rc<01>X<00>VPpVP4'd \R4hVP4p^pVP 4pVe(\ VP ^4pVP4VPVP V4R# \d^pL-i;i)z!macro name missing after 'macro:'N) r<>r=rr<>r<>r&r%r<>r<>)r<>r<>r<>r<>rs& r<00>macro_begin_text_macror<6F>
s<><00><00>
2025-12-11 20:07:10 +01:00
<0A>*<2A>*<2A><16>
<EFBFBD>K<EFBFBD>K<EFBFBD>M<EFBFBD>M<EFBFBD><12>6<>7<>7<><14><1F><1F>!<21><1A><10><1B><0E><19><19><1B><14><08><14><13><14>T<EFBFBD>[<5B>[<5B>!<21>$<24>;<3B> <09><14><14><16><08><1E><1E>z<EFBFBD>0<>0<>+<2B>><3E> <0C><>
2025-12-14 00:38:19 +01:00
<14><13><12>;<3B><13>s<00>&B<00> B)<03>(B)c<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0s<00><00> <0A> <0A>l<EFBFBD> <0A>/F<> rc<01>P<00>VPpVPf \R4hR#)Nz"';macro' without matching 'macro:')r<>r,r)r<>r<>s& r<00>macro_end_text_macror<6F>s&<00><00>
2025-12-11 20:07:10 +01:00
<0A>*<2A>*<2A><16>
2025-12-14 00:38:19 +01:00
<EFBFBD><1A><1A>"<22><12>7<>8<>8<> rc
2025-12-11 20:07:10 +01:00
<01>,<00>V^8<>dQhRRRRRRRRR R
2025-12-14 00:38:19 +01:00
/#) r-rT<00> List[Token]r<>r#r<>r$r<>r<>r.r?r)r/s"rr0r0#s1<00><00> <20> <20>K<EFBFBD> <20>5<EFBFBD> <20><03> <20>S`<60> <20>ei<65> rc<01><>a<01>RV3RllpVPV!R44VPV!V44VFpVPV!V44K VPV!R44R#)c<01> <00>V^8<>dQhRRRR/#<00>r-r%r$r.r#r)r/s"rr0<00>-_struct_emit_definition.<locals>.__annotate__$s<00><00><04><04><03><04><05>rc<01>t<<01>\VSPSPSPSPR7#)r<>)r#r'r(r)r*)r%r<>s&<26>r<00>
make_token<EFBFBD>+_struct_emit_definition.<locals>.make_token$s/<00><><00> <0E>
2025-12-11 20:07:10 +01:00
<10><10> <0A> <0A>
<12>/<2F>/<2F> <11><1E><1E><0F>|<7C>|<7C> 
2025-12-14 00:38:19 +01:00
<04>rr4rHN)rl)rTr<>r<>r<>r<>r%s&f&& r<00>_struct_emit_definitionr<6E>#s[<00><><00><04><04><08><1D><1D>z<EFBFBD>#<23><EFBFBD><1F><07><1D><1D>z<EFBFBD>$<24><1F> <20><13>V<EFBFBD><08>-<2D>-<2D>
<EFBFBD>6<EFBFBD>"<22>#<23><14><07><1D><1D>z<EFBFBD>#<23><EFBFBD>rc<01>j<00>]tRtRtRRltRRltRRltRR ltR
2025-12-11 20:07:10 +01:00
R ltR R lt RRlt
Rt R#)<12>
2025-12-14 00:38:19 +01:00
SplitLexeri4c<01>$<00>V^8<>dQhRRRRRR/#)r-r<>r!<00>
separatorsr$r.r?r)r/s"rr0<00>SplitLexer.__annotate__5s!<00><00> <20> <20>F<EFBFBD> <20><03> <20><04> rc <09>@<00>Wn\V4Vn.VnR#r^)r<><00>setr<74>r`)r7r<>r<>s&&&rrQ<00>SplitLexer.__init__5s<00><00><16>+<2B><17>
<EFBFBD>O<EFBFBD>$<24>/<2F><1F>$<24>+rc<01><00>V^8<>dQhRR/#r>r)r/s"rr0r<>:s<00><00><1D><1D>D<EFBFBD>rc <09>,<00>VP'g<>VPP4'd \R4hVPP 4p\ WP 4pV'gKvVPPV4K<>R#)z"unexpected EOF inside custom lexerN)r`r<>r=rr<><00>_split_token_by_charsr<73>r|)r7r]r<>s& r<00>_fill<6C>SplitLexer._fill:sg<00><00> <10>K<EFBFBD>K<EFBFBD>K<EFBFBD>
2025-12-11 20:07:10 +01:00
<EFBFBD>k<EFBFBD>k<EFBFBD><16><16><18><18>
<14>9<>
:<3A>:<3A> <0F>;<3B>;<3B> !<21> !<21> #<23>5<EFBFBD> <20><15><0F><0F> 8<>5<EFBFBD>
2025-12-14 00:38:19 +01:00
<0F> <0C><07>;<3B>;<3B><15><15>e<EFBFBD><1C> rc<01><00>V^8<>dQhRR/#r<>r)r/s"rr0r<>Ds<00><00><18><18>5<EFBFBD>rc <09>H<00>VP4VP^,#<00>r<>)r<>r`r6s&rr<00>SplitLexer.peekDs<00><00><06>*<2A>*<2A>,<2C> <0A><1B><1B>Q<EFBFBD><1E>rc<01><00>V^8<>dQhRR/#r<>r)r/s"rr0r<>Hs<00><00><0F><0F>%<25>rc <09>\<00>VP4pVPP^4V#r<>)rr`r[rss& rr[<00>SplitLexer.popHs"<00><00>
<0E>)<29>)<29>+<2B>%<25><06>+<2B>+<2B>/<2F>/<2F>!<21><14> <0E>,rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r<>Ms<00><00><0F><0F>#<23><0F>%<25>rc <09><><00>VP4pVPV8wd\RV RVP R24hV#)z
expected 'z ' but found 'r<>)r[r%r)r7r%r]s&& r<00>expect<63>SplitLexer.expectMs<<00><00>
2025-12-11 20:07:10 +01:00
<0E>(<28>(<28>*<2A>%<25>
2025-12-14 00:38:19 +01:00
<EFBFBD>\<5C>\<5C>V<EFBFBD><1B> <13>j<EFBFBD><16><08> <0A>e<EFBFBD>l<EFBFBD>l<EFBFBD>^<5E>1<EFBFBD>E<> F<>F<> <0E>,rc<01><00>V^8<>dQhRR/#)r-r.r<>r)r/s"rr0r<>Ss<00><00><13><13>+<2B>rc <09>*<00>^p.pV^8<>d<>VP4pVPR8XdV^, pVPV4KDVPR8Xd'V^,pV^8XdV#VPV4K{VPV4K<>V#)rBrKrL)r[r%rl)r7<00>depth<74> collectedr]s& r<00>collect_brace_block<63>SplitLexer.collect_brace_blockSs<><00><00>
2025-12-11 20:07:10 +01:00
<0B>%<25><1D>)<29> <0A><01> <09> <0F>8<EFBFBD>8<EFBFBD>:<3A>5<EFBFBD> <0B>l<EFBFBD>l<EFBFBD>c<EFBFBD><19> <09>Q<EFBFBD>J<EFBFBD>E<EFBFBD> <0A><14><14>U<EFBFBD><1B> <0C> <0B>l<EFBFBD>l<EFBFBD>c<EFBFBD><19> <09>Q<EFBFBD>J<EFBFBD>E<EFBFBD> <0C><01>z<EFBFBD>
<EFBFBD>
2025-12-14 00:38:19 +01:00
<13><12><0E><14><14>U<EFBFBD><1B> <0C> <0C><13><13>E<EFBFBD><1A> <12>rc<01><00>V^8<>dQhRR/#r>r)r/s"rr0r<>es<00><00><13><13><04>rc <09><><00>VP'gR#VPVPPVPPVPP%.VnR#r^)r`r<>rTr<>r6s&r<00> push_back<63>SplitLexer.push_backes?<00><00> <0A><1B><1B><1B> <09>8<<3C> <0B> <0B>$<24>+<2B>+<2B><14><14>T<EFBFBD>[<5B>[<5B>_<EFBFBD>_<EFBFBD>T<EFBFBD>[<5B>[<5B>_<EFBFBD>_<EFBFBD>5<><12>$<24>+r)r`r<>r<>N) rrrrrQr<>rr[r<>r<>r<>rrrrr<>r<>4s*<00><00> <20>
2025-12-11 20:07:10 +01:00
<1D><18><0F>
2025-12-14 00:38:19 +01:00
<0F> <13>$<13>rr<>c<01>$<00>V^8<>dQhRRRRRR/#)r-r]r#r<>zSet[str]r.r<>r)r/s"rr0r0ls!<00><00><0E><0E><15><0E>H<EFBFBD><0E><1B>rc
2025-12-11 20:07:10 +01:00
<01><><00>VPpV'g.#.p^pV\V48EdW$,pWQ9doVP\VVPVP
V,VP V,VP V,^,R74V^, pK<>TpV\V48dW$,V9d V^, pK(W&VpV'gK<>VP\VVPVP
2025-12-14 00:38:19 +01:00
V,VP V,VP V,R74EK$V#)r<>r<>)r%rOrlr#r'r(r))r]r<>r<>r<>r<>ru<00> start_idx<64>segments&& rr<>r<>ls<00><00> <0C>|<7C>|<7C><13> <0B> <0B>)<29><18><15><08><13>
2025-12-11 20:07:10 +01:00
<EFBFBD>S<EFBFBD><13>X<EFBFBD>~<7E> <0C><18>$<24> <09><17><08><<3C><<3C><05> <0F> <0E><1A><1A> <10><<3C><<3C>#<23> <1D>
<0F>+<2B>+<2B><03>
<1B> <0A> <0B> <0B>c<EFBFBD><19>A<EFBFBD><1D> <05><06><07>!<21>8<EFBFBD>3<EFBFBD> <0B><11>)<29> <0B>c<EFBFBD>#<23>h<EFBFBD><0E>3<EFBFBD>8<EFBFBD>:<3A>5<><06>!<21>8<EFBFBD>3<EFBFBD> <0F>#<23> <1E>'<27> <0C>W<EFBFBD><08><<3C><<3C><05> <12> <0E><1A><1A> <10><<3C><<3C>)<29> #<23>
<0F>+<2B>+<2B> <09>
2025-12-14 00:38:19 +01:00
!<21> <0A> <0B> <0B>c<EFBFBD><19> <05><06> <0E>rc<01> <00>V^8<>dQhRRRR/#)r-r<>rr.r!r)r/s"rr0r0<00>s<00><00><0E><0E><03><0E> <09>rc<01>H<00>\V\4'g \R4hV#)zexpected list value)r\r<>rr<>s&r<00> _ensure_listr<74><00>s <00><00><12>5<EFBFBD>$<24><1F><1F><12>(<28>)<29>)<29> <0A>rc<01> <00>V^8<>dQhRRRR/#)r-r<>rr.zDict[Any, Any]r)r/s"rr0r0<00>s<00><00><0E><0E><03><0E><0E>rc<01>H<00>\V\4'g \R4hV#)zexpected map value)r\rrr<>s&r<00> _ensure_dictr<74><00>s <00><00><12>5<EFBFBD>$<24><1F><1F><12>'<27>(<28>(<28> <0A>rc<01> <00>V^8<>dQhRRRR/#)r-r<>rr.r<>r)r/s"rr0r0<00>s<00><00><0E><0E><13><0E><1A>rc<01>H<00>\V\4'g \R4hV#)zexpected lexer value)r\r<>rr<>s&r<00> _ensure_lexerr<72><00>s <00><00><12>5<EFBFBD>*<2A>%<25>%<25><12>)<29>*<2A>*<2A> <0A>rc<01> <00>V^8<>dQhRRRR/#)r-r<>rr.r$r)r/s"rr0r0<00>s<00><00>6<>6<>s<EFBFBD>6<>s<EFBFBD>6rc<01><><00>\V\4'dV#\V\4'd V'dR#R#\V\4'd \V4#\ R4h)<03>1r1z expected string-compatible value)r\r$r<>r&rr<>s&r<00> _coerce_strr<72><00>sQ<00><00><0E>u<EFBFBD>c<EFBFBD><1A><1A> <0E>,<2C><0E>u<EFBFBD>d<EFBFBD><1B><1B><15><13><1E>3<EFBFBD><1E><0E>u<EFBFBD>c<EFBFBD><1A><1A> <0C>U<EFBFBD><1A><13><11>4<>5<>5rc<01> <00>V^8<>dQhRRRR/#)r-r<>r<>r.r#r)r/s"rr0r0<00>s<00><00><11><11><0F><11>E<EFBFBD>rc<01>p<00>Vf\R^^^^R7#\V\4'g \R4hV#)Nrfr<>zexpected token for template)r#r\r)r<>s&r<00>_default_templater<65><00>s9<00><00> <0C><14> <0E>b<EFBFBD>q<EFBFBD><11>!<21><11> ;<3B>;<3B><12>8<EFBFBD>U<EFBFBD>#<23>#<23><12>0<>1<>1<><10>rc<01> <00>V^8<>dQhRRRR/#<00>r-<00>vmr0r.r?r)r/s"rr0r0<00>s<00><00><0F><0F> <0A><0F>$<24>rc<01>(<00>VPR4R#r^<00>r <00>r<>s&r<00>_ct_nilr<6C><00>s <00><00><03><17><17><14>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0<00>s<00><00>D<01>D<01><1D>D<01>4<EFBFBD>Drc<01><><00>VP4p\V\4'd\V4R#\V\4'd\V4R#\ R4h)Nz.puts expects string or integer at compile time)r[r\r$<00>printr&r<00>r<>r<>s& r<00>_ct_putsr<73><00>sG<00><00> <0B><16><16><18><15><0E>u<EFBFBD>c<EFBFBD><1A><1A><07><05>,<2C><08><0E>u<EFBFBD>c<EFBFBD><1A><1A><07><05>,<2C><08><11>B<>C<>Crc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0<00>s<00><00>'<27>'<27>-<2D>'<27>D<EFBFBD>'rc<01>\<00>TPVP4f ^4R#^4R#r^)r r[r<>s&r<00> _ct_nil_pr<70><00>s<00><00><03><17><17>b<EFBFBD>f<EFBFBD>f<EFBFBD>h<EFBFBD><1E><11>&<26>A<EFBFBD>&rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0<00>s<00><00> <0A> <0A>]<5D> <0A>t<EFBFBD> rc<01>(<00>VP.4R#r^r<>r<>s&r<00> _ct_list_newr<00><00> <00><00><03><17><17><12>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0<00>s<00><00><14><14>}<7D><14><14>rc<01>l<00>\VP44pVP\V44R#r^)r<>r[r r<><00>r<><00>lsts& r<00>_ct_list_cloner<00>s"<00><00><13>B<EFBFBD>F<EFBFBD>F<EFBFBD>H<EFBFBD><1D><13><03>
<00>s4<00><00> <0B><16><16><18><15><13>B<EFBFBD>F<EFBFBD>F<EFBFBD>H<EFBFBD><1D><13><04><1A><1A>E<EFBFBD><12><03><17><17><13>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0<00>s<00><00><10><10>]<5D><10>t<EFBFBD>rc<01><><00>\VP44pV'g \R4hVP4pVPV4VPV4R#<00>zcannot pop from empty listN<74>r<>r[rr <00>r<>rr<>s& r<00> _ct_list_popr<00>sB<00><00><13>B<EFBFBD>F<EFBFBD>F<EFBFBD>H<EFBFBD><1D><13> <0B><12>/<2F>0<>0<> <0C><17><17><19><15><03><17><17><13><1C><03><17><17><15>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0<00>s<00><00><10><10>=<3D><10>T<EFBFBD>rc<01><><00>\VP44pV'g \R4hVP^4pVPV4VPV4R#r rrs& r<00>_ct_list_pop_frontr<00>sD<00><00><13>B<EFBFBD>F<EFBFBD>F<EFBFBD>H<EFBFBD><1D><13> <0B><12>/<2F>0<>0<> <0C><17><17><11><1A><15><03><17><17><13><1C><03><17><17><15>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0<00>s<00><00><13><13> <0A><13>$<24>rc<01>l<00>\VP44pVP\V44R#r^)r<>r[r rOrs& r<00>_ct_list_lengthr<00>s"<00><00><13>B<EFBFBD>F<EFBFBD>F<EFBFBD>H<EFBFBD><1D><13><03><17><17><13>S<EFBFBD><18>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0<00>s<00><00><1E><1E>}<7D><1E><14>rc<01>z<00>\VP44pTPV'g ^4R#^4R#<00>rBN)r<>r[r rs& r<00>_ct_list_emptyr<00>s%<00><00><13>B<EFBFBD>F<EFBFBD>F<EFBFBD>H<EFBFBD><1D><13><03><17><17>#<23><11><1D>1<EFBFBD>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0<00>s<00><00><0E><0E>}<7D><0E><14>rc<01><><00>VP'g \R4hVPR,pVR,VR,,
pVPV4R#)z'i' used outside of a for loopr<70>r<>Nr<4E>)rrr )r<>r<>r<>s& r<00>_ct_loop_indexr<00>sD<00><00>
<EFBFBD> <0A> <0A> <0A><12>3<>4<>4<> <0B><1D><1D>r<EFBFBD> <1A><15> <0C>Y<EFBFBD><17>%<25> <0B>,<2C>,<2C><13><03><17><17><13>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0<00>s<00><00>7<>7<>]<5D>7<>t<EFBFBD>7rc<01><><00>VP4p\VP44pVPW!,4R# \dp\ R4ThRp?ii;i<01>zlist index out of rangeN)rr<>r[r <00>
IndexErrorr)r<>rprrls& r<00> _ct_list_getr"<00>sN<00><00> <0B><1A><1A><1C><15><13>B<EFBFBD>F<EFBFBD>F<EFBFBD>H<EFBFBD><1D><13>7<><04>'<27>'<27>#<23>*<2A><15><><12>7<><12>,<2C>-<2D>3<EFBFBD>6<><36>7<>s<00>A<00> A <03> A<03>A c<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0s<00><00><0E><0E>]<5D><0E>t<EFBFBD>rc<01><><00>VP4pVP4p\VP44pWV&TP T4R# \dp\ R4ThRp?ii;ir )r[rr<>r!rr )r<>r<>rprrls& r<00> _ct_list_setr%sa<00><00> <0B><16><16><18><15> <0B><1A><1A><1C><15><13>B<EFBFBD>F<EFBFBD>F<EFBFBD>H<EFBFBD><1D><13>7<><14>e<EFBFBD>*<2A><04><17><17><13><1C><> <13>7<><12>,<2C>-<2D>3<EFBFBD>6<><36>7<>s<00>A<00> A.<03> A)<03>)A.c<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0 s<00><00><0E><0E>}<7D><0E><14>rc<01>z<00>\VP44pVP4VPV4R#r^)r<>r[rkr rs& r<00>_ct_list_clearr( s&<00><00><13>B<EFBFBD>F<EFBFBD>F<EFBFBD>H<EFBFBD><1D><13><04><19><19><1B><03><17><17><13>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0s<00><00><11><11> <0A><11>$<24>rc<01><><00>\VP44p\VP44pVPV4VPV4R#r^)r<>r[r|r )r<>rbr<>s& r<00>_ct_list_extendr+s9<00><00>
2025-12-11 20:07:10 +01:00
<16>r<EFBFBD>v<EFBFBD>v<EFBFBD>x<EFBFBD>
<20><16>
<16>r<EFBFBD>v<EFBFBD>v<EFBFBD>x<EFBFBD>
2025-12-14 00:38:19 +01:00
<20><16><07><1D><1D>v<EFBFBD><16><03><17><17><16>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0s<00><00><12><12>m<EFBFBD><12><04>rc<01><><00>\VP44pV'g \R4hVPVR,4R#)z list is emptyNr<4E>rrs& r<00> _ct_list_lastr.s0<00><00><13>B<EFBFBD>F<EFBFBD>F<EFBFBD>H<EFBFBD><1D><13> <0B><12>?<3F>#<23>#<23><03><17><17><13>R<EFBFBD><17>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0 s<00><00> <0A> <0A>M<EFBFBD> <0A>d<EFBFBD> rc<01>(<00>VP/4R#r^r<>r<>s&r<00> _ct_map_newr1 rrc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0$s<00><00><12><12>M<EFBFBD><12>d<EFBFBD>rc<01><><00>VP4pVP4p\VP44pWV&VPV4R#r^<00>r[r<>r )r<>r<>rD<00>map_objs& r<00> _ct_map_setr6$s;<00><00> <0B><16><16><18><15> <09>v<EFBFBD>v<EFBFBD>x<EFBFBD><13> <17><02><06><06><08> !<21><17><15><13><1C><03><17><17><17>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0,s<00><00>  <0A>  <0A>M<EFBFBD>  <0A>d<EFBFBD>  rc<01><00>VP4p\VP44pVPV4W9d+VPW!,4VP^4R#VPR4VP^4R#rr4<00>r<>rDr5s& r<00> _ct_map_getr:,s]<00><00> <09>v<EFBFBD>v<EFBFBD>x<EFBFBD><13> <17><02><06><06><08> !<21><17><03><17><17><17><11><07>N<EFBFBD><04>'<27>'<27>'<27>,<2C><17><04>'<27>'<27>!<21>*<2A><04>'<27>'<27>$<24>-<2D><04>'<27>'<27>!<21>*rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r08s<00><00>%<25>%<25>M<EFBFBD>%<25>d<EFBFBD>%rc<01><><00>VP4p\VP44pVPV4TPW9d ^4R#^4R#rr4r9s& r<00> _ct_map_hasr=8s><00><00> <09>v<EFBFBD>v<EFBFBD>x<EFBFBD><13> <17><02><06><06><08> !<21><17><03><17><17><17><11><03><17><17>c<EFBFBD>n<EFBFBD><11>$<24>!<21>$rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0?s<00><00>$<24>$<24>m<EFBFBD>$<24><04>$rc<01><><00>VP4pVP4pTPW!8Xd ^4R#^4R#r<00>rr <00>r<><00>right<68>lefts& r<00> _ct_string_eqrD?s-<00><00> <0B><1A><1A><1C><15>
2025-12-11 20:07:10 +01:00
<EFBFBD>
<EFBFBD>
2025-12-14 00:38:19 +01:00
<EFBFBD> <0C><14><03><17><17>d<EFBFBD>m<EFBFBD><11>#<23><11>#rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0E<00><00><00><15><15>-<2D><15>D<EFBFBD>rc<01>Z<00>VP4pVP\V44R#r^)rr rOr<>s& r<00>_ct_string_lengthrHE<00><00><00> <0B><1A><1A><1C><15><03><17><17><13>U<EFBFBD><1A>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0Js<00><00><17><17>-<2D><17>D<EFBFBD>rc<01>t<00>VP4pVP4pVPW!,4R#r^r@rAs& r<00>_ct_string_appendrLJs&<00><00> <0B><1A><1A><1C><15>
2025-12-11 20:07:10 +01:00
<EFBFBD>
<EFBFBD>
2025-12-14 00:38:19 +01:00
<EFBFBD> <0C><14><03><17><17><14><1C>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0Ps<00><00> <0A> <0A>]<5D> <0A>t<EFBFBD> rc<01><><00>VP4p\V^4pVPV4VP^4R# \d'TP^4TP^4R#i;i)r<>N)rr&r r<>)r<>r<>r<>s& r<00>_ct_string_to_numberrOPsX<00><00>
2025-12-11 20:07:10 +01:00
<EFBFBD>
<EFBFBD>
<EFBFBD> <0C><14> <0A>
2025-12-14 00:38:19 +01:00
<0A>d<EFBFBD>A<EFBFBD>,<2C>%<25><04>'<27>'<27>%<25>.<2E><04>'<27>'<27>!<21>*<2A><><12> <0A><04>'<27>'<27>!<21>*<2A><04>'<27>'<27>!<21>*<2A> <0A>s<00>.A<00>-A3<03>2A3c<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0[s<00><00>"<22>"<22>=<3D>"<22>T<EFBFBD>"rc<01>F<00>VP4pWPnR#r^)rr<>r<>)r<><00> hook_names& r<00>_ct_set_token_hookrS[s<00><00> <0F>Z<EFBFBD>Z<EFBFBD>\<5C><19>!<21><19><19>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0`s<00><00><1D><1D>]<5D><1D>t<EFBFBD>rc<01>(<00>RVPnR#r^)r<>r<>r<>s&r<00>_ct_clear_token_hookrV`s<00><00><1C><12><19><19>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0ds<00><00> #<23> #<23> <0A> #<23>$<24> #rc<01>.<00>VP'd-VP4pVPPV4pM5VPP 4pVf \ R4hVPpVf\ RV R24hRVnRVn R#)Nz3use-l2-ct with empty stack and no recent definitionr<6E>z' for use-l2-ctT)
rrr#rr<>r<>rr<>rr )r<>r<>rs& r<00>_ct_use_l2_compile_timerYds<00><00><06>H<EFBFBD>H<EFBFBD>H<EFBFBD> <0B><1A><1A><1C>$<24> <0B><1D><1D> <1D> <1D>d<EFBFBD> #<23>$<24> <0B><19><19> )<29> )<29> +<2B>$<24> <09>\<5C> <13>I<> J<>J<> <0A><19><19>$<24><08>L<EFBFBD><12>^<5E>D<EFBFBD>6<EFBFBD><1F>9<>:<3A>:<3A>#<23><14><1C>"<22><14>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0ss<00><00>$<24>$<24>m<EFBFBD>$<24><04>$rc<01>r<00>VP4pVPPPV.4R#r^)rr<>r$rY)r<>rXs& r<00> _ct_add_tokenr\ss'<00><00> <09>z<EFBFBD>z<EFBFBD>|<7C><13><03><19><19><11><11><1C><1C>c<EFBFBD>U<EFBFBD>#rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0xs<00><00>)<29>)<29>M<EFBFBD>)<29>d<EFBFBD>)rc<01>p<00>VP4pVPPPV4R#r^)rr<>r$r_)r<>r\s& r<00>_ct_add_token_charsr_xs%<00><00> <0B><1A><1A><1C><15><03><19><19><11><11>!<21>!<21>%<25>(rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0}s<00><00>  <0A>  <0A>=<3D>  <0A>T<EFBFBD>  rc<01>l<00>VP4p\VP44pVPV4pVP V4VP V4VP ^4R# \
d8TP T4TP R4TP ^4R#i;i)rBNr<4E>)rr<>r[rpr r<>)r<>r<><00>paramsr<73>s& r<00>_ct_fn_param_indexrc}s<><00><00>
2025-12-11 20:07:10 +01:00
<EFBFBD>
<EFBFBD>
<EFBFBD> <0C><14>
<16>r<EFBFBD>v<EFBFBD>v<EFBFBD>x<EFBFBD>
2025-12-14 00:38:19 +01:00
<20><16> <0A><0E> <0C> <0C>T<EFBFBD><1A>#<23><04>'<27>'<27>&<26>/<2F><04>'<27>'<27>#<23>,<2C><04>'<27>'<27>!<21>*<2A><><12> <0A><04>'<27>'<27>&<26>/<2F><04>'<27>'<27>"<22>+<2B><04>'<27>'<27>!<21>*<2A> <0A>s<00>AA1<00>1>B3<03>2B3c<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0<00>s<00><00><0E><0E><1D><0E>4<EFBFBD>rc<01><><00>\VP44p\VP44pR.\V4,p.pVF<>p\V\4'dVP V4K,\V\ 4'd!\ V^4pVP V4Kb\V\ 4'd<WQ9d6VPV4pVP V4VP R4K<>VP V4K<> R.\V4,pW4,V,p VPV 4R# \dL<>i;i)z>r<>rpick<63>rdropN)
r<EFBFBD>r[rOr\r&rlr$r<>rpr )
r<EFBFBD>rb<00>postfix<69>prologue<75>
translatedrX<00> num_valuer<65><00>epilogue<75>outs
& r<00>_ct_fn_translate_postfixrn<00>s<00><00>
2025-12-11 20:07:10 +01:00
<16>r<EFBFBD>v<EFBFBD>v<EFBFBD>x<EFBFBD>
2025-12-14 00:38:19 +01:00
<20><16> <17><02><06><06><08> !<21><17><1C>v<EFBFBD><03>F<EFBFBD> <0B>+<2B><18><1B><1A> <13>S<EFBFBD><0F><03>S<EFBFBD><19><19> <0A><14><14>S<EFBFBD><19> <0B><0F><03>S<EFBFBD><19><19> <09><13>C<EFBFBD><11> <0B>I<EFBFBD><0E><15><15>i<EFBFBD> <20> <0C><10><03>S<EFBFBD><19><19>c<EFBFBD>m<EFBFBD> <0F><1C><1C>c<EFBFBD> <1A>3<EFBFBD> <0A><14><14>S<EFBFBD><19> <0A><14><14>W<EFBFBD><1D> <0A><14><14>S<EFBFBD><19>! <14>" <20>y<EFBFBD>3<EFBFBD>v<EFBFBD>;<3B>.<2E><18><1A>'<27>(<28>2<><13><03><17><17><13><1C><> <15> <09><08> <09>s<00> E<02> E<05>Ec<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0<00>s<00><00><11><11>-<2D><11>D<EFBFBD>rc
2025-12-11 20:07:10 +01:00
<05>><00>.p.pR^R^R^R^R^/p\VP44pVEFp\V\4'g \ R4hVR8XdVP V4K?VR8Xd]V'd0VR ,R8wd"VP VP44K7V'g \ R 4hVP4K<>WS9dfV'dJVR ,V9d<W1R ,,W5,8<>d"VP VP44KQVP V4EK VP V4EK! V'd6VP4pVR8Xd \ R 4hVP V4K=VP V4R
2025-12-14 00:38:19 +01:00
#) zAConvert an infix token list (strings) to postfix using +,-,*,/,%.<2E>+<2B>-<2D>*<2A>/<2F>%zshunt expects list of stringsrFr5z$mismatched parentheses in expressionNr<4E>)r<>r[r\r$rrlr )r<><00>ops<70>output<75>precrTrXrbs& r<00> _ct_shuntry<00>s6<00><00><14><13><17><16> <0C>a<EFBFBD><13>a<EFBFBD><13>a<EFBFBD><13>a<EFBFBD><13>a<EFBFBD>0<><14>
2025-12-11 20:07:10 +01:00
<16>r<EFBFBD>v<EFBFBD>v<EFBFBD>x<EFBFBD>
<20><16> <12>S<EFBFBD> <13>C<EFBFBD><13> <1D> <1D> <13>3<> 4<>4<><08>C<EFBFBD>Z<EFBFBD><06>:<3A>:<3A>c<EFBFBD>?<3F> <0B><08>C<EFBFBD>Z<EFBFBD> <0C><13>R<EFBFBD><17>C<EFBFBD><1E>
<EFBFBD>M<EFBFBD>M<EFBFBD>#<23>'<27>'<27>)<29><1C>
<0A>
<14>;<3B>
<<3C><<3C><06>7<EFBFBD>7<EFBFBD>9<EFBFBD> <0B><08>[<5B> <0C><13>R<EFBFBD><17>D<EFBFBD><1F>T<EFBFBD>b<EFBFBD>'<27>]<5D>d<EFBFBD>i<EFBFBD>%?<3F>
2025-12-14 00:38:19 +01:00
<EFBFBD>M<EFBFBD>M<EFBFBD>#<23>'<27>'<27>)<29><1C><06>:<3A>:<3A>c<EFBFBD>?<3F> <0B><08>-<2D>-<2D><03><14>% <13>& <0B> <0B><07><07> <09>#<23><08>C<EFBFBD>Z<EFBFBD> <13>:<3A> ;<3B>;<3B><08>-<2D>-<2D><03><14><03><17><17><16>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0<00>rFrc<01>Z<00>VP4pVP\V44R#r^)rr r$r<>s& r<00>_ct_int_to_stringr|<00>rIrc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0<00>s<00><00>,<2C>,<2C><1D>,<2C>4<EFBFBD>,rc<01>z<00>VP4pTP\V4'd ^4R#^4R#r)rr r)r<>s& r<00>_ct_identifier_pr<00>s(<00><00> <0B><1A><1A><1C><15><03><17><17>n<EFBFBD>U<EFBFBD>#<23>#<23><11>+<2B><11>+rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0<00>s<00><00><17><17><1D><17>4<EFBFBD>rc<01>\<00>VP4pVPVP4R#r^)r'r r%<00>r<>r]s& r<00>_ct_token_lexemer<65><00>s<00><00> <0B><1C><1C><1E><15><03><17><17><15><1C><1C>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0<00>s<00><00>
2025-12-11 20:07:10 +01:00
<04>
<04>m<EFBFBD>
<04><04>
2025-12-14 00:38:19 +01:00
rc
2025-12-11 20:07:10 +01:00
<01><><00>VP4pVP4p\V4pVP\ VVP
2025-12-14 00:38:19 +01:00
VP VPVPR74R#)r<>N) r[rr<>r r#r'r(r)r*)r<><00>template_valuer%r<>s& r<00>_ct_token_from_lexemer<65><00>sT<00><00><14>&<26>&<26>(<28><1E>
2025-12-11 20:07:10 +01:00
<0C>*<2A>*<2A>,<2C><16> <1D>n<EFBFBD> -<2D><18><03><17><17><15> <0F><0F>}<7D>}<7D> <11><1F><1F><10><0E><0E><0E>l<EFBFBD>l<EFBFBD> 
2025-12-14 00:38:19 +01:00
<03>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0<00>s<00><00><10><10>}<7D><10><14>rc<01>\<00>VPP4pVPV4R#r^)r<>r<>r r<>s& r<00>_ct_next_tokenr<6E><00>s<00><00> <0B><19><19> <1D> <1D> <1F><15><03><17><17><15>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0<00>s<00><00>!<21>!<21>}<7D>!<21><14>!rc<01>X<00>VPVPP44R#r^)r r<>r<>r<>s&r<00>_ct_peek_tokenr<6E><00>s<00><00><03><17><17><12><19><19> <1D> <1D> <1F> rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0<00>s<00><00>(<28>(<28>-<2D>(<28>D<EFBFBD>(rc<01><><00>\VP44p\;QJdRV4F 'dK RM RM !RV44'g \R4hVPP V4R#)c3<01>B"<00>TFp\V\4x<00>K R#5ir^)r\r#)r<<00>items& rr><00>$_ct_inject_tokens.<locals>.<genexpr><3E>s<00><00><00> 7<><06><04>J<EFBFBD>t<EFBFBD>U<EFBFBD> #<23> #<23><06>s<00>FTz&inject-tokens expects a list of tokensN)r<>r[r'rr<>r<>)r<>rTs& r<00>_ct_inject_tokensr<73><00>sQ<00><00>
2025-12-11 20:07:10 +01:00
<16>r<EFBFBD>v<EFBFBD>v<EFBFBD>x<EFBFBD>
2025-12-14 00:38:19 +01:00
<20><16> <0B><03> 7<><06> 7<><03><03><03> 7<><06> 7<>7<>7<><12>;<3B><<3C><<3C><03><19><19><1F><1F><06>'rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0<00>s<00><00>+<2B>+<2B>M<EFBFBD>+<2B>d<EFBFBD>+rc<01><><00>\VP44pVP4p\V\4'dTpVPpM=\V\
2025-12-11 20:07:10 +01:00
4'd\ VP44pTpM \R4hVUu.uF0p\V\4'd VPM
2025-12-14 00:38:19 +01:00
\V4NK2 pp.p\WsWF4VPPV4R#uupi)z0emit-definition expects token or string for nameN) r<>r[r\r#r%r$r<>rr<>r<>r<>r<>)r<>r<><00>
name_valuer<EFBFBD>r<>r<><00>lexemesr<73>s& r<00>_ct_emit_definitionr<6E><00>s<><00><00><14>R<EFBFBD>V<EFBFBD>V<EFBFBD>X<EFBFBD><1E><14><10>f<EFBFBD>f<EFBFBD>h<EFBFBD><1A><0E>z<EFBFBD>5<EFBFBD>!<21>!<21> <17>(<28> <13> <1A> <1A>$<24><10><1A>S<EFBFBD>!<21>!<21> <1E>r<EFBFBD>v<EFBFBD>v<EFBFBD>x<EFBFBD> (<28>(<28> <13>$<24><12>E<>F<>F<><13> <03><12>d<EFBFBD><1C>D<EFBFBD>%<25>(<28>(<28>$<24>+<2B>+<2B>k<EFBFBD>$<24>.?<3F>?<3F><12> <09> <03><1D><19><18><19>d<EFBFBD><<3C><03><19><19><1F><1F> <09>*<2A><>  s<00>6C3c<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0 s<00><00><1B><1B> <0A><1B>$<24>rc<01>8<00>VP4p\V4hr^)rr)r<>r<>s& r<00>_ct_parse_errorr<72> s<00><00> <0A>:<3A>:<3A><<3C><17><11>'<27><1A>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0s<00><00>,<2C>,<2C>m<EFBFBD>,<2C><04>,rc<01>p<00>VP4pVP\VPV44R#r^)rr r<>r<>)r<>r<>s& r<00> _ct_lexer_newr<77>s$<00><00><10>j<EFBFBD>j<EFBFBD>l<EFBFBD><1A><03><17><17><1A>B<EFBFBD>I<EFBFBD>I<EFBFBD>z<EFBFBD> *<2A>+rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0s<00><00><10><10>m<EFBFBD><10><04>rc<01><><00>\VP44pVP4pVPV4VPV4R#r^)r<>r[r )r<><00>lexerr]s& r<00> _ct_lexer_popr<70>s3<00><00> <16>r<EFBFBD>v<EFBFBD>v<EFBFBD>x<EFBFBD> <20><15> <0E><19><19><1B><15><03><17><17><15><1E><03><17><17><15>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0s<00><00><17><17>}<7D><17><14>rc<01><><00>\VP44pVPV4VPVP44R#r^)r<>r[r r<00>r<>r<>s& r<00>_ct_lexer_peekr<6B>s/<00><00> <16>r<EFBFBD>v<EFBFBD>v<EFBFBD>x<EFBFBD> <20><15><03><17><17><15><1E><03><17><17><15><1A><1A><1C>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0"s<00><00><10><10><1D><10>4<EFBFBD>rc<01><><00>VP4p\VP44pVPV4pVP V4VP V4R#r^)rr<>r[r<>r )r<>r%r<>r]s& r<00>_ct_lexer_expectr<74>"sA<00><00>
<0C>*<2A>*<2A>,<2C><16> <16>r<EFBFBD>v<EFBFBD>v<EFBFBD>x<EFBFBD> <20><15> <0E><1C><1C>f<EFBFBD> <1D><15><03><17><17><15><1E><03><17><17><15>rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0*s<00><00>&<26>&<26> <0A>&<26>$<24>&rc<01><><00>\VP44pVPV4VPVP44R#r^)r<>r[r r<>r<>s& r<00>_ct_lexer_collect_bracer<65>*s2<00><00> <16>r<EFBFBD>v<EFBFBD>v<EFBFBD>x<EFBFBD> <20><15><03><17><17><15><1E><03><17><17><15> "<22> "<22> $<24>%rc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r00s<00><00><10><10>M<EFBFBD><10>d<EFBFBD>rc<01>z<00>\VP44pVP4VPV4R#r^)r<>r[r<>r r<>s& r<00>_ct_lexer_push_backr<6B>0s'<00><00> <16>r<EFBFBD>v<EFBFBD>v<EFBFBD>x<EFBFBD> <20><15><06><1F><1F><12><03><17><17><15>rc<01> <00>V^8<>dQhRRRR/#rGr)r/s"rr0r06s<00><00>>E<01>>E<01>*<2A>>E<01><14>>Erc<01><>a<00>RR/RV3RlllpV!R\RR7V!R\RR7V!R\RR7V!R \RR7V!R
\RR7V!R \
RR7V!R \ RR7V!R \RR7V!R\RR7V!R\RR7V!R\RR7V!R\RR7V!R\RR7V!R\RR7V!R\RR7V!R\RR7V!R\ RR7V!R\"RR7V!R\$RR7V!R\&RR7V!R\(RR7V!R\*RR7V!R\,RR7V!R\.RR7V!R\0RR7V!R\2RR7V!R \4RR7V!R!\6RR7V!R"\8RR7V!R#\:RR7V!R$\<RR7V!R%\>RR7V!R&\@RR7V!R'\BRR7V!R(\DRR7V!R)\FRR7V!R*\HRR7V!R+\JRR7SPMR+4pV'dRVn'V!R,\PRR7V!R-\RRR7V!R.\TRR7V!R/\VRR7V!R0\XRR7V!R1\ZRR7V!R2\\RR7V!R3\^RR7R4#)5r<35>Fc<01>(<00>V^8<>dQhRRRRRRRR/#) r-r<>r$r<>zCallable[[CompileTimeVM], None]r<>r<>r.r?r)r/s"rr0<00>7_register_compile_time_primitives.<locals>.__annotate__7s+<00><00><1C><1C>C<EFBFBD><1C>><3E><1C>QU<51><1C>bf<62>rc<01><><<01>SPV4pVf\VR7pSPV4WnV'd
RVnR#R#)Nr<4E>T)rrrrr<>)r<>r<>r<>rr#s&&$ <20>rr<00>3_register_compile_time_primitives.<locals>.register7sE<00><><00> <13> <1A> <1A>4<EFBFBD> <20>$<24> <09>\<5C>
<0E>D<EFBFBD>/<2F>4<EFBFBD> <0A><16><16>t<EFBFBD><1C> $<24><1D><11><1B>4<EFBFBD><14>r<00>nilT)r<>znil?zlist-newz
2025-12-11 20:07:10 +01:00
list-clonez list-appendzlist-popzlist-pop-frontz list-lengthz list-empty?zlist-getzlist-setz
list-clearz list-extendz list-last<73>izmap-newzmap-setzmap-getzmap-has?zstring=z string-lengthz string-appendz string>numberzfn-param-indexzfn-translate-postfixz
int>stringz identifier?<3F>shuntz token-lexemeztoken-from-lexemez
next-tokenz
peek-tokenz inject-tokensz add-tokenzadd-token-charszset-token-hookzclear-token-hookz use-l2-ctzemit-definitionz parse-errorz lexer-newz lexer-popz
2025-12-14 00:38:19 +01:00
lexer-peekz lexer-expectzlexer-collect-bracezlexer-push-backN)0r<30>r<>rrr
rrrrr"r%r(r+r.rr1r6r:r=rDrHrLrOrcrnr|rryr<>r<>r<>r<>r<>r\r_rSrVrYrr<>r<>r<>r<>r<>r<>r<>r<>r<>)r#r<00> word_use_l2sf r<00>!_register_compile_time_primitivesr<73>6sw<00><><00><1C>X]<5D><1C><1C>
<EFBFBD>%<25><17>t<EFBFBD>,<2C> <09>&<26>)<29>$<24>/<2F> <09>*<2A>l<EFBFBD><14>6<> <09>,<2C><0E>T<EFBFBD>:<3A> <09>-<2D><1F>t<EFBFBD><<3C> <09>*<2A>l<EFBFBD><14>6<> <09>
2025-12-11 20:07:10 +01:00
<1A>.<2E>T<EFBFBD>B<> <09>-<2D><1F>t<EFBFBD><<3C> <09>-<2D><1E>d<EFBFBD>;<3B> <09>*<2A>l<EFBFBD><14>6<> <09>*<2A>l<EFBFBD><14>6<> <09>,<2C><0E>T<EFBFBD>:<3A> <09>-<2D><1F>t<EFBFBD><<3C> <09>+<2B>}<7D>4<EFBFBD>8<> <09>#<23>~<7E>D<EFBFBD>1<> <09>)<29>[<5B>t<EFBFBD>4<> <09>)<29>[<5B>t<EFBFBD>4<> <09>)<29>[<5B>t<EFBFBD>4<> <09>*<2A>k<EFBFBD><04>5<> <09>)<29>]<5D><14>6<> <09>/<2F>,<2C>4<EFBFBD>@<40> <09>/<2F>,<2C>4<EFBFBD>@<40> <09>/<2F>/<2F>d<EFBFBD>C<> <09>
<1A>.<2E>T<EFBFBD>B<> <09>
<20>":<3A><14>N<> <09>,<2C>)<29><04>=<3D> <09>-<2D>)<29><04>=<3D> <09>'<27>9<EFBFBD>4<EFBFBD>0<> <09>.<2E>*<2A><14>><3E> <09>
<1D>4<>4<EFBFBD>H<> <09>,<2C><0E>T<EFBFBD>:<3A> <09>,<2C><0E>T<EFBFBD>:<3A> <09>/<2F>,<2C>4<EFBFBD>@<40> <09>+<2B>}<7D>4<EFBFBD>8<> <09>
<1B>0<>t<EFBFBD>D<> <09>
<1A>.<2E>T<EFBFBD>B<> <09>
<1C>2<><14>F<> <09>+<2B>.<2E>T<EFBFBD>B<><19> <20> <20><1B>-<2D><1B><0F><1E>+<2B><17> <09>
<1B>0<>t<EFBFBD>D<> <09>-<2D><1F>t<EFBFBD><<3C> <09>+<2B>}<7D>4<EFBFBD>8<> <09>+<2B>}<7D>4<EFBFBD>8<> <09>,<2C><0E>T<EFBFBD>:<3A> <09>.<2E>*<2A><14>><3E> <09>
<1F>!8<>t<EFBFBD>L<> <09>
2025-12-14 00:38:19 +01:00
<1B>0<>t<EFBFBD>Dr<00>emit_definition<6F> is_identifierr<72>r<>c<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0<00>s<00><00>4 <0A>4 <0A>L<EFBFBD>4 <0A>-D<>4 rc <01><00>VPpVP4'd \R4hVP4pVPp.p^pVP4'd \R4hVP4pVPR8XdM<>VPR8wd\RV R24hVP4'd \R4hVP4pVP4'd\RVP R24hVP4p\ VP^4p TP\TPYY44YY, pEK.p \W<>V R 2\V4.4VF<>p V R V P R 2p V R V P R2p\W<>V \V P4.4\W<>V\V P4.4\V VV R V P R2VRR.4\V VV R V P R2VRR.4K<> W<>PVPVP%R # \ d#p
2025-12-11 20:07:10 +01:00
\R TP R
T R24T
hR p
?
2025-12-14 00:38:19 +01:00
ii;i)z#struct name missing after 'struct:'z2unterminated struct definition (missing ';struct')<29>;structrz)expected 'field' or ';struct' in struct 'z ' definitionz'field name missing in struct definitionzfield size missing for 'r<>zinvalid field size 'z ' in struct 'Nz.size<7A>.z.offsetr3rq<00>!)r<>r=rr<>r%r&r<>rlr<>r<>r$r<>r<>r<>rTr<>)r<>r<>r<><00> struct_name<6D>fields<64>current_offsetr]<00>field_name_token<65>
2025-12-11 20:07:10 +01:00
size_token<EFBFBD>
2025-12-14 00:38:19 +01:00
field_sizerlr<>r<00> size_word<72> offset_words& r<00>macro_struct_beginr<6E><00>si<00><00>
2025-12-11 20:07:10 +01:00
<0A>*<2A>*<2A><16>
<EFBFBD>K<EFBFBD>K<EFBFBD>M<EFBFBD>M<EFBFBD><12>8<>9<>9<><14><1F><1F>!<21><1A><19> <20> <20><1B><1F><16><13><1E> <0B> <0B>[<5B>[<5B>]<5D>]<5D> <13>H<> I<>I<>
<10>
<1B>
<1B>
<1D>%<25>
<EFBFBD>\<5C>\<5C>Y<EFBFBD><1E><08>
<EFBFBD>\<5C>\<5C>W<EFBFBD><1C> <13>?<3F> <0B>}<7D>L<EFBFBD>Y<> Z<>Z<> <0B>[<5B>[<5B>]<5D>]<5D> <13>=<3D> ><3E>><3E><1B>&<26>&<26>(<28><12> <0B>[<5B>[<5B>]<5D>]<5D> <13>.<2E>/?<3F>/F<>/F<>.G<>q<EFBFBD>I<> J<>J<><15> <20> <20>"<22>*<2A><0E><13>J<EFBFBD>%<25>%<25>q<EFBFBD>)<29>:<3A>
 <09>-<2D>-<2D> <0B>,<2C>3<>3<>^<5E>P<>Q<><10><1E>.<2E><1C><19><18><19>;<3B>-<2D>u<EFBFBD>0E<30><03>N<EFBFBD>H[<5B>G\<5C>]<5D><14>U<EFBFBD><1C> <0A>Q<EFBFBD>u<EFBFBD>z<EFBFBD>z<EFBFBD>l<EFBFBD>%<25>0<>)<29><1E>-<2D>q<EFBFBD><15><1A><1A> <0C>G<EFBFBD>4<>+<2B><19>)<29><19>S<EFBFBD><15><1A><1A>_<EFBFBD><M<>N<><19>)<29><1B>s<EFBFBD>5<EFBFBD><<3C><<3C>?P<>>Q<>R<><19> <0C> <0A><11>]<5D>!<21>E<EFBFBD>J<EFBFBD>J<EFBFBD><<3C>q<EFBFBD>!<21><0F><13>c<EFBFBD><1A> <04> <1A> <0C> <0A><11>]<5D>!<21>E<EFBFBD>J<EFBFBD>J<EFBFBD><<3C>q<EFBFBD>!<21><0F><13>c<EFBFBD><1A> <04><15>$)2<><1D><1D>v<EFBFBD>z<EFBFBD>z<EFBFBD>&<26>*<2A>*<2A>%<25> <0C><>9
<14><0E> <13><1A>:<3A>,<2C>,<2C>-<2D>]<5D>;<3B>-<2D>q<EFBFBD>I<>
<05>
2025-12-14 00:38:19 +01:00
<0A><0E><><0E>s<00>#I<00> J<03>%J<03>Jc<01> <00>V^8<>dQhRRRR/#r<>r)r/s"rr0r0<00>s<00><00>=<3D>=<3D>,<2C>=<3D>+B<>=rc<01><00>\R4h)z'';struct' must follow a 'struct:' blockr<6B>)r<>s&r<00>macro_struct_endr<64><00>s<00><00><11>;<3B><<3C><rc<01><00>V^8<>dQhRR/#)r-r.r r)r/s"rr0r0<00>s<00><00>
<13>
<13>j<EFBFBD>
rc<01><><00>\4pVP\RR\R74VP\RR\R74VP\RR\
R74VP\RR\ R74VP\RR\R74VP\RR\R74VP\RR\R74\V4V#) r<>T)r<>r<>rz compile-onlyz compile-timezmacro:rqzstruct:r<>) r rrr<>r<>r<>r<>r<>r<>r<>r<>)r#s r<00>bootstrap_dictionaryr<79><00>s<><00><00><18>l<EFBFBD><1A> <0B><14><14>T<EFBFBD>{<7B>d<EFBFBD>/<2F>R<>S<> <0B><14><14>T<EFBFBD>~<7E><14>EW<45>X<>Y<> <0B><14><14>T<EFBFBD>~<7E><14>EW<45>X<>Y<> <0B><14><14>T<EFBFBD>x<EFBFBD>4<EFBFBD>?U<>V<>W<> <0B><14><14>T<EFBFBD>x<EFBFBD>4<EFBFBD>?S<>T<>U<> <0B><14><14>T<EFBFBD>y<EFBFBD>D<EFBFBD>@R<>S<>T<> <0B><14><14>T<EFBFBD>y<EFBFBD>D<EFBFBD>@P<>Q<>R<>"<22>:<3A>.<2E><12>rc<01>J<00>]tRtRtRRltRRltRRltR R R
lltR tR#) <0A>Compileri<72>c<01><00>V^8<>dQhRR/#r>r)r/s"rr0<00>Compiler.__annotate__<5F>s<00><00>.<2E>.<2E>t<EFBFBD>.rc <09><><00>\4Vn\4Vn\ VPVP4Vn\ VP4VnR#r^)r<r$r<>r#r!r<>rE<00> assemblerr6s&rrQ<00>Compiler.__init__<5F>s;<00><00><16><08>$<24>+<2B>(<28>*<2A>$<24>/<2F><16>t<EFBFBD><EFBFBD><EFBFBD><04> <0B> <0B>4<>$<24>+<2B><1C>T<EFBFBD>_<EFBFBD>_<EFBFBD>-<2D>$<24>.rc<01> <00>V^8<>dQhRRRR/#)r-rbr$r.r<>r)r/s"rr0r<><00>s<00><00>%<25>%<25>#<23>%<25>(<28>%rc <09><><00>VPPV4pVPPW!4pVPP V4#r^)r$rzr<>r_r<>r<>)r7rbrTr^s&& r<00>compile_source<63>Compiler.compile_source<63>s?<00><00> <0F>;<3B>;<3B> <1F> <1F><06> '<27>&<26> <0F>;<3B>;<3B> <1C> <1C>V<EFBFBD> ,<2C>&<26> <0A><1E><1E> <1C> <1C>V<EFBFBD> $<24>$rc<01> <00>V^8<>dQhRRRR/#)r-r<>rr.r<>r)r/s"rr0r<><00>s<00><00>%<25>%<25>d<EFBFBD>%<25>x<EFBFBD>%rc <09>b<00>VPVP44pVPV4#r^)<03>_load_with_imports<74>resolver<65>)r7r<>rbs&& r<00> compile_file<6C>Compiler.compile_file<6C>s)<00><00> <0F> "<22> "<22>4<EFBFBD><<3C><<3C>><3E> 2<>&<26> <0A> <1C> <1C>V<EFBFBD> $<24>$rNc<01>$<00>V^8<>dQhRRRRRR/#)r-r<>rr<>zOptional[Set[Path]]r.r$r)r/s"rr0r<><00>s"<00><00>!<21>!<21>D<EFBFBD>!<21>0C<30>!<21>s<EFBFBD>!rc <09><><00>Vf \4pVP4pW9dR#VPV4VP4p.p\ TP44F<>wrgTP4pTPR4'd<>TPR^4^,P4p T 'g\ RT RT^, 24hTPT , P4p
TPTPY<>44K<>TPT4K<> RPT4R,# \dp\ RT RT 24ThRp?ii;i)Nrfzcannot import z: zimport zempty import target in r4rg)r<>r<>rV<00> read_text<78>FileNotFoundErrorrr<>r}rvrnrQ<00>parentrlr<>rj) r7r<>r<><00>contentsrl<00>linesr<73>r'r<>r<><00> target_paths &&& rr<><00>Compiler._load_with_imports<74>s7<00><00> <09>\<5C>
2025-12-11 20:07:10 +01:00
<0A>%<25>4<EFBFBD> <0A><1C><1C><1E>$<24> <09>\<5C>
<0C><06>(<28>(<28>4<EFBFBD>.<2E>=<3D><12>n<EFBFBD>n<EFBFBD><1E>8<EFBFBD><18>%<25><1C>X<EFBFBD>0<>0<>2<>3<>i<EFBFBD>c<EFBFBD><12>j<EFBFBD>j<EFBFBD>l<EFBFBD>8<EFBFBD><0E><19><19>)<29>$<24>$<24> <15>^<5E>^<5E>D<EFBFBD>!<21> $<24>Q<EFBFBD> '<27> -<2D> -<2D> /<2F>F<EFBFBD> <11> <15>/<2F><04>v<EFBFBD>Q<EFBFBD>s<EFBFBD>Q<EFBFBD>w<EFBFBD>i<EFBFBD>@<40> A<>A<><17>;<3B>;<3B><16>'<27>0<>0<>2<>K<EFBFBD> <09>L<EFBFBD>L<EFBFBD><14>(<28>(<28><1B>;<3B><<3C> <0C><08><<3C><<3C><04><15>4<>
<0E><19><19>5<EFBFBD> <19>D<EFBFBD> <20> <20><>
2025-12-14 00:38:19 +01:00
<1B>=<3D> <13>n<EFBFBD>T<EFBFBD>F<EFBFBD>"<22>S<EFBFBD>E<EFBFBD>2<> 3<><13><<3C><>=<3D>s<00>E<00> E)<03>E$<03>$E))r<>r#r<>r$r^) rrrrrQr<>r<>r<>rrrrr<>r<><00>s<00><00>.<2E> %<25>
%<25>!<21>!rr<>c<01>$<00>V^8<>dQhRRRRRR/#)r-<00>asm_pathr<00>obj_pathr.r?r)r/s"rr0r0 s&<00><00>Y<01>Y<01>t<EFBFBD>Y<01>t<EFBFBD>Y<01><04>Yrc
2025-12-11 20:07:10 +01:00
<01>f<00>\P!RRRR\V4\V4.RR7R#)<07>nasmz-f<>elf64<36>-oT<6F><01>checkN<6B><03>
2025-12-14 00:38:19 +01:00
subprocess<EFBFBD>runr$)r<>r<>s&&r<00>run_nasmr<6D> s&<00><00> <0B><1E><1E><16><14>w<EFBFBD><04>c<EFBFBD>(<28>m<EFBFBD>S<EFBFBD><18>]<5D>K<>SW<53>Xrc<01>$<00>V^8<>dQhRRRRRR/#)r-r<>r<00>exe_pathr.r?r)r/s"rr0r0 s&<00><00>H<01>H<01><14>H<01><14>H<01>$<24>Hrc<01>b<00>\P!RR\V4\V4.RR7R#)<05>ldr<64>Tr<54>Nr<4E>)r<>r<>s&&r<00>
run_linkerr<EFBFBD> s!<00><00> <0B><1E><1E><14>t<EFBFBD>S<EFBFBD><18>]<5D>C<EFBFBD><08>M<EFBFBD>:<3A>$<24>Grc<01> <00>V^8<>dQhRRRR/#)r-<00>argvr<76>r.r&r)r/s"rr0r0
s<00><00>
2025-12-11 20:07:10 +01:00
<EFBFBD>
<EFBFBD>m<EFBFBD>
<EFBFBD><03>
2025-12-14 00:38:19 +01:00
rc<01>Z<00>\P!RR7pVPR\RR7VPRR\\R4R7VPR R
R R 7VPR \\R4R7VP V4p\ 4pVP VP4pVPPRRR7VPVPPR,, pVPVPPR,, pVPPWE4VP'd\RV 24^#\WV4\!WbP"4\RVP" 24^#)zL2 compiler driver)<01> descriptionrbzinput .sl file)r<><00>helpr<70>rwza.out)<03>destr<74><00>defaultz
2025-12-11 20:07:10 +01:00
--emit-asm<73>
2025-12-14 00:38:19 +01:00
store_truezstop after generating asm)<02>actionrz
--temp-dir<69>build)r<>rT)<02>parents<74>exist_okz.asmz.oz [info] wrote z [info] built )<12>argparse<73>ArgumentParser<65> add_argumentr<00>
parse_argsr<EFBFBD>r<>rb<00>temp_dir<69>mkdir<69>stemr<6D>r<><00>emit_asmr<6D>r<>r<>rw)r<>r<>ry<00>compilerrZr<>r<>s& r<00>clir
sH<00><00>
2025-12-11 20:07:10 +01:00
<12>
!<21>
!<21>.B<>
C<EFBFBD><16><07><14><14>X<EFBFBD>D<EFBFBD>/?<3F><14>@<40><07><14><14>T<EFBFBD><08>t<EFBFBD>T<EFBFBD>'<27>]<5D><14>K<><07><14><14>\<5C>,<2C>=X<><14>Y<><07><14><14>\<5C><04>d<EFBFBD>7<EFBFBD>m<EFBFBD><14>D<><0E><19><19>$<24><1F><14> <14>J<EFBFBD><18> <14> !<21> !<21>$<24>+<2B>+<2B> .<2E><18><05><1D><1D><14><14>T<EFBFBD>D<EFBFBD><14>1<> <10>M<EFBFBD>M<EFBFBD>T<EFBFBD>[<5B>[<5B>-<2D>-<2D><06>6<> 7<><18> <10>M<EFBFBD>M<EFBFBD>T<EFBFBD>[<5B>[<5B>-<2D>-<2D><04>4<> 5<><18> <09><13><13><1D><1D>h<EFBFBD>1<><08>M<EFBFBD>M<EFBFBD>M<EFBFBD><07>-<2D><08>z<EFBFBD>"<22>#<23>
2025-12-14 00:38:19 +01:00
<EFBFBD> <09>(<28><1D> <0B>H<EFBFBD>k<EFBFBD>k<EFBFBD>"<22><06><1D>t<EFBFBD>{<7B>{<7B>m<EFBFBD>$<24>%<25> rc<01><00>V^8<>dQhRR/#r>r)r/s"rr0r0$ s<00><00><1D><1D>d<EFBFBD>rc<01>n<00>\P!\\PR,44R#)r~N)rr<>rr<>rrrrRrR$ s<00><00><04><18><18>#<23>c<EFBFBD>h<EFBFBD>h<EFBFBD>r<EFBFBD>l<EFBFBD>
<1B>r<00>__main__)<29><>__conditional_annotations__r<00>
__future__rr rZr<>r<>rr<><00> dataclassesrr<00>pathlibr<00>typingrrrr r
r r r rr<00>keystonerrrrrkrr!r#r<r}rr<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<><00> MacroHandler<65>IntrinsicEmitterrr <00>Contextr!r0r<>r<>r"r)r<>rrEr<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rrr
rrrrrr"r%r(r+r.r1r6r:r=rDrHrLrOrSrVrYr\r_rcrnryr|rr<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r:r<>r<>r<>r<>r<>r<>rrRr)rs@r<00><module>rs<><00><><01><04>#<23><0F> <0A> <0B><11>
<EFBFBD><0F>(<28><18>]<5D>]<5D>]<5D>!<21>:<3A>:<3A>7<><19>7<>6<>9<EFBFBD>6<> <0B>=<3D>=<3D> <0B>=<3D>}S<01>}S<01>J%<25>%<25> <0B> <0B>g<EFBFBD> <0B> <0B> <0B> <0B> <0C>g<EFBFBD> <0C> <0B> <0C> <0B><1C><17><1C> <0B><1C> <0B><1C>G<EFBFBD><1C> <0B><1C> <0B><16>W<EFBFBD><16> <0B><16> <0B><16><16> <0B><16>  <0B> <0B> <0B> <0B> <0B>  <0B> <0A><17> <0A> <0B> <0A> <0B> <0A>7<EFBFBD> <0A> <0B> <0A> <0B> <0B>G<EFBFBD> <0B> <0B> <0B> <0B><10>w<EFBFBD><10> <0B><10>
2025-12-11 20:07:10 +01:00
 <0B><10>g<EFBFBD><10> <0B><10>
2/<2F>2/<2F>j<18><1C><0E><08><14>g<EFBFBD><1D>(?<3F>?<3F>@<40> <0C><1B>.<2E>/<2F><14>5<>6<><10> <0B> %<25> %<25> <0B> %<25> <0B> <1E> <1E> <0B> <1E>" <10><06>
<EFBFBD>"<22>
2025-12-14 00:38:19 +01:00
#<23><07>X <20>X <20>v R<18>R<18>t  <0B> <1A> <1A> <0B> <1A> $<05>$<05>N<17>6<>$<18>N<0E><0E>,w'<27>w'<27>~ <0A> <0A> <0A>" <0A>" <0A> <20>"5<13>5<13>p<0E>B<0E> <0E> <0E> 6<><11><0F>D<01>'<27> <0A><14>
2025-12-11 20:07:10 +01:00
<0E><10><10><13>
<1E>
<0E>7<><0E><0E> <11><12> <0A><12>  <0A>%<25>$<24> <15>
<17>  <0A>"<22>
<1D> #<23>$<24>
)<29>
 <0A><0E>6<11>B<15>,<2C>
<17>
<04><10>
!<21>(<28>+<2B>(<1B>,<2C>
2025-12-14 00:38:19 +01:00
<10><17> <10>&<26> <10> >E<01>H<10><1C><08>%<25>
2025-12-11 20:07:10 +01:00
<EFBFBD>G<EFBFBD>
<EFBFBD>G<EFBFBD> <0A>z<EFBFBD><07><14><08>%<25> <0B>X<EFBFBD>
2025-12-14 00:38:19 +01:00
<EFBFBD>G<EFBFBD><0E> <0B> <0A>z<EFBFBD> <09>6<EFBFBD> <0A>z<EFBFBD><12>+<2B><10>.<2E>#<02><0F><1E><02>&4 <0A>n=<3D>
<13>$&!<21>&!<21>RY<01>H<01>
<EFBFBD>4<1D> <0C>z<EFBFBD><19><05><16><1A><>_H<11>!<21>
<EFBFBD><12> <14><17> <20> <20><1B>z<EFBFBD>!<21>s<00> O<00>O+<03>*O+