view Makefile @ 88:03e9031b5eca

Some details and examples about \tt-XXX and \ttx-XXX in the docs
author Franz Glasner <fzglas.hg@dom66.de>
date Sat, 02 May 2026 10:08:29 +0200
parents 6ac1ea5d2d4a
children ddefcc20367c
line wrap: on
line source

# dev and build helper
# :-
# SPDX-FileCopyrightText: © 2026 Franz Glasner
# SPDX-License-Identifier: MIT
# :-

.PHONY: help all clean distclean dist build tests flake8 docs clean-docs clean-docs-html install-dev install-docs

help:
	@echo Targets: help, clean, distclean, dist, build

all: tests flake8

build:
	python -m build

dist: distclean build

distclean: clean
	rm -rf dist/ *.egg-info

clean:
	rm -rf __arch/
	find . -name '*.pyc' -delete

tests:
	-python -m unittest discover -s tests

flake8:
	-flake8 pygments_lexer_pseudocode2
	-flake8 tests

docs:
	(cd docs && make html)

clean-docs:
	(cd docs && make clean)

clean-docs-html:
	rm -rf docs/_build/html

install-dev:
	python -m pip install -r requirements-dev.txt

install-docs:
	python -m pip install -r requirements-docs.txt
	python -m pip install --editable .
/"toAN[ms~.4 k|ސ >C}֘}||2KB2M鞳2r9ǿm8>CL'032?>!MX:C!䆁 b d!L#1(Yqx?J𷪊Jz)c҈(0PC$SsMI"e(B216D>(rD967H ?fnUVĔm_".CBHA4Rd?/}~3<[~I{E9m67?`p߷us .wڠQJv>m_ۥT7&n`1Hht0 HSyDmLN%V'nLqGkՊ6ڗOBHA#(d8մdfK?bnz`WfED,'!B1s,rm)b1U%~.S7{}m%~7>n}ʕ'^V2>>'B|e_'v|S̄#AF ]r= 1~j [dsJu~ @B!AA"  KTyYVg' One6@1@%M3 r3c $AAla9<pf;.C@ДK@S j "!* br p*&L̢\N!B'ˠ= JK"rMAH'"o+D?­M15H>]>;bt> )$_|v(\ &$6ǝn#?- [5r=@hhF 3@LA %nS T6HB. B&"VIs@؇)Ai^?$Twc1tW 2 U i" oC\,EFVHdcÂ[xV/ڰm*Q (Lh>4  Q bH>, `sjASŪ&M"ʫ_oG 6d- iL ,#4I42'5MCM3X7]+,+LphBlfٖv96LW] #-4 i:`& N8FYm99n֮VkfXVdAuPtnWOm_GE 躟A8#C}%s0q`'L?/)(pㅻ [ q 0) v[.2:Ґ)r輁s lg47)d3A-h ǮUu!)b46V fadQ"oYb1d'Tģ;AʕYW@H>_4ߴg gqk xcUCqԌ sH(=SET)W ה)!RtZ T8f#wcR l$bm2 ۹.o!L8 mgJw6`[d+E A1ЏrCⴓAkʐtX/#\-  N{&C$ X*`@S1h0  ;m;J`a_ `΃Ɋ2ghv\1d$c$fD(X )G!12b#~҄W?ްfZ_H$=?'4J$U @Ih%IJ$\!#cbFr}*B[KV XX,X8! uP_)ҕ+5DpP?xT M]u6Ya[ѱHQJd]H#J"':` s@ $HrJ"2R(df\j *!j1)3 1#W rɤqs1Ȩj`Mf鼱 =C,qaRЄakJeJ%4FFQkaKT0eUacTffD9V՛:S96iiYIE Ĺs 22*+ t(m1ds~ߥu~'/zs9I]G,M)$wev6o`oHBD{ؑSn~|5\S+s81ڊ*EI[mL(ev?%ƸY)zKOJgKN-,Z?O\TVoHJa' T0j'HGΗfe UoGLr߹>NjbhT:~I~ l7v`B_9iHj;Y2ԖJbu6?̓ȖJ: Pzmu0Ej& 7?-^e̪g[qޚ3N+zaX⤌J_AhPez5 i (х=?H~*aG-}miJXkQS? vAÖmi1Zk^vuw㬽7OYm;|GQw~Ȩ?] wuIz!Z??J' F]S*"g-j`fIs?`q!0?C9s_$ݞ^9Òߘ84nEe"Z]Q֤w (DሽGK@}d',S% ]SLUx߇OPhlM(`-m d.M!-Lf:O)$li*0ԭ"R )p7rϛ7se>G77ϯc}[;ُY[Uffbd׉L/#u̧33iӱvML~$&I1gӸјk?sˌ5?WR:nfS";&Y駺>|z잣ufzO& s~\=Owg~2=sӣ9wylw{2)G#Q?ysEc!@Nx/{,^fFzvC I=g4t&s0 |][7;zcWѢlh YlĨ\X\BN &Gus0 unp7O5uyfAӴHmq'qqDDd.wtm؋AuwB`^O-PmVmtJRP_B)kC L65#L2<|#_/b 7qR:IUס:(v"2ށ}LeQɕ! 3Qm¡Ԧuegk_W[Qqjк<ɺB9 Ft4%\Huٖ剬BJ煢 LrD" %KN@Η $(!G2d8ZlDB"N){}cM !vFI Ak9^{!Z/>)P,򶕞@r =Pi^oAiH#a 7PrR0 `Bp89vx)i\] Qg0fOY:0tnۇV"`SjDt YxA&d$c8 !dl''Pw#t `H26lALlȪ>_GTv_4#]|47JRdd/82v*zJD~PKT^p=KN""(f"/~nѲAT͊JH*L )7(FjM֗h FHMe200 ,$o2uӬ:Tfb[R? ${^ $/JpHm$z"RK;lQ̮܏,L+,f#{7И}& Z4qFb3JcL/A<$(7:?fC^ tV$L< <(b?c:({}FLw"myz)31pM  J mPz΀{B-h4jsp)Bb:pI&ۙPmϦfy%H]e^tftlzBMv8FƐpUFpdxq[" {#tpuZàb9mu`ZeNٜ#*Mp0\F@E)B3;1p4<Wzò 5*joH2\"J&r* G%S~a9X6X/4H23Ѯi!qMFPc!uʤ(圭$A:O!8\{ĐmB׹`<䦁64@vt\ #q.M/~1=p07IL%W ֆ4^4cS?kpwwuo&!=Y"$x>x.щwa-p 0e2)JH ȉ03SA:DŽjXss.p#%sI-] IHPA6J $K[H-o{#107sD>|_ q:5O`r4\)6$d~/ ]$}PUqfIZSB.9Zt;ݪ80lc hmI`ŔG~vN*ck589pJ1P`Z$4[bǻnWdjwM_+x !ߘU b _ba0Q^ ;+Y%2Y6hKQ4fVd~{ewy3#$ cVܻw~۞;]w;e)Nw0Ȁ( s\r\6.+/};x}_fo=vS}xn޽v79asKHXw:@m4hKjV#_5̹e QDJ| Z<э)b$ZC^%Yx9y05u^mH*f+wS- VZkGh&*җj "7]EFJ_*Q{n̬c+N)u~T ϖ q&;\yUZKU)8NV)nDt68djT·܀$L‡Mn5"3vG˝Hz:|!2نYT dHȎ۵5wz<'*w]i!81vyG\Iz<= Mvݨ2H0ݽ."zvWAʔdd)!1 (VFA ^;Gp:η=ssnm78+:aFLgHocej, <30fQ"bBFe"!f2 nŲ 5zp*8aqAIg J ׶pѢ{d!46!GE>y*6ZjBu;azu;G2+QoAI!)|9SPFGQ%9}GUE5 Xf .6 ӝYv{ `e*i1G c/J*2!|H.q|F 63ͷ Ls}ιߐx)Tlysٛ_?ۏLḶ7]fGut<\̮9Eki2In\;wKhK$C*1% vE?:&`R,dy{y=v/w?|I"˽ 5(_Bαk%lQr>Բ-0Pq"&*[pDAK&ƗB0`a ujLyx<̲yZ<}u^ף*_J{$O9蜍 !]M)8'^DAF kwMoxhрwmՈpb Q UF KNaõ % 2 2L 24&+sDYeB8ÒQ_ 44 WIp26`bIԅ9N˰]qd)ȐCIRH>atݱ#p|*ߕ 9ȍ* P(RH#Jș"l (PBȇ*̼hLTT>8$Ԑ* ,yj[P1 GI*3Y1DcNdf|v0~MD I-\4Pp4TH!#mXn U+\9ÕO9~NtglW9/esNg tzݼ)0˛Ԧ$Oa$ F;Ee]".ӓwyMs zxe2˫lmXlW~n]tf:rj˫qmH]y9%˨ʍڍ˾vclgε2t57p9vqv> o6dCI'(9Lx#O>WU0G@?nOi J9.H H @4"d۴Hv *R}>CGE7TpK  2*2t&ƒm6#b8i-i/<_ɭ*IhZ0f7F:J)nR L&zxW Č9A⟧?Y{ Yvr;=?A>)9RP0ۚ{_A.c] 5zΐCK=k:wi35HR~K4|^KWPTDDDKősTuWl婖)þDc<nwvaGI.P}YERyK];/`߿ddI.Q~z_y TA&" FD>h)C::_"seddaY$M244Qϐp20a@OQ5^9wEsW9=[/ziAO;EB&&swFF{ #~,{KPwg'dE PbG| o⺮X"Ĕ$CBJ]s@vNQ !#%(ȱcP //C$IϮβG}I#{{q͹B<РpJCw}RHړ; ?@1 'qcHi1d!,IbĮHsG>n5My*H,ERG/!WM !?aP:L^ؠii*1BCr7Otr! m{ˮm^^8eK(&cLNX YLlc1͙]0r3rH'VYN@†(6С MoDƅ]%7B"3rJ Q%O6;FZ'>Mȓc|HK=Kc݂l(O$=ݥ\FnZ"7^M𸌐, q-\H7D,jǬ NYcCl?RJM&w;;.;4)ϧI`4FXZhDiQ-䑚z)*PM$1Ab:M0UD)c`@PҁD"ei"s0L s3 &[qJM>@o0$Bf6VI#00; Xʛi%.Hl;Ahl_ղI&G J9@QH}rJrn@f`a$JEE`wegW2 $H]о}Cc@ؿ In 52`hb,vJ&&i1jwIpv5Ɠ0'2p̝BKkCg׹`&UH%CV'<2?"y!ogty1h[a+ Zh<~0%)} FjGD>@"5'CuvIeJj1d})=4w0%U1\+'wE@ Đ~/4f$_=h1#;#ZVI<ҰB9@phZ Kh/\F^v19dO:C@I!OhS0ybhd8$6G `I@罄|/ME$@O?5n XBw>Er"5ܽ?OĨ " 'd&1JzO|4邻d|!n?sc1#fU&~LB6$&O8c X%޻f%!Z>0SefHCB>2$ *0/uw4%csCF+5A9~0;k RDbė"P~5-i)@R鎖lrw4M4M4M4M4M4`"*:>Ϗd!'O+3ۯLȁLHKuF6&_"XPtih_∖z"$0qH/Ct1y-F> O@ 4$ :R޾ ]KxHpբ?Y&!R;_E+0'Wn09iJ""/9Q_Ę}5uK6<$mIe\ɗ J2 P?׹/B^a&7ohLHv?R@{:I Ғ0! H@$$͛M$D$/?3 Kn -_D~iA eT !?ȕRSjK ";@E\LXd} BH1?SE7nJ0lcGw#?{lпpaBVR %I$ @?_{?oAS31$Ib|v[xKszY0+PRe  ??6Gg}9DѓdYJ#GTI:N(v]~~~q,Ϫ~D]g~_9`Σs{oќe:8rm4 3 AQkL0r.Co<]syv݊=1kQ#"0Os܆ yǭ. }uz񹙝Yem=maLӫoNyz]\H 3YQuv_NqXs_IHIYQ16'AB ŝ!6ЅzPF˚LbGLet'i H@!8r # vPxLpy)lm1*[&x׼ڧ(qٔ!SIH L]MDzQ_٥g9l_El  DC(!Fe-dn ![& 'O~s׆ o)#Zq9}CNsmr MY 740Hƿ)r5Vd^QTM C&d~le(OH)H&#`%;6lΚcKC v \@SfI?cw>k8+s4ra!I.m\m9'Jiېȗ!)v>y؇?"=OX`^UGz>u?=z<$s*$??yD?2_m> 4F @~s_9#zP+gb 1PH۰p#B=S ]nq?0M PƽB;*&@iM+晝bI[nmXVC&cKU0cBM1lih!Ii}VV@xN T)^&7a!3L?a@&oYwdDKGCɸu羆%iqfo.q:foV$i|\~ s)@ @ &P拏.EpvVg|5Fօ*/B .zv27QPѝ,F[)ecFԖ+^cQKvZ2_޿v^)l|8c-%LH~v@"@u؆C :d<]ﱨdtm~TR̦1gssrϵmN0bk̚IPaxH NcYaFL#Mm2!sovv ?nrR: 0n1y&o:';bRnq̗ۢiT>nQbG UWaygۛEHaK#N^l;]/,mPt?߯d:bI++Q"Vxzfgj{a7RniQq2v|[V(q2쎩ȯBcQϸ> 2A.)h74n:W[msG" n:ޒDȏzD: u*S  l8l zM'ϵ#z6)svgP9zV{iI=EG13>uI\ 1q|>gǏv C"h @+)ÒCN_Ƀ߆{*8:Tmb2b)\HquRF~Klv]#^S?tkr[g][;N fk# UZSj6@1nܟ0zc$WWS&Q+0L?|~:63řǔG:h~Z@}?QN(}#K[GUy ~ks9oCKm~I1Jz>M WP6{>csuĥ!>}m wvE&>ǻ O(1WWseUY$V~Ƽ,aalS3l&^3RuòtoϟW×U@^-}54\&3S[Hk>Trr_}ԚcYˋo{m&iO$IwSDw—24pwn9*{Ag#w"R1wTӱ7Rm:_TDv% 'ù4ћ^ A?yK(_TK%"> ژx媵SdnXJRo&ml](0 0tbP]HdᐗX0 6:ou+/v؝3HyTQMvT=6~٤^khhi&Cn!a9M{Ⲷ19y >kOkWͳRC{ۅ6&̰6i"ϣ2dIIxVߖ[0c0$kq7" qk,iuY݀AFvc(ܔl}=\/uTVO7$ocOn_w79_ѾE}dXG}8gG, 9'/~Ib5ۄ?%Ro{l? %f ǰίR9EpL}5mZ=nX 01:'[-6tSĘ )_rAmE1WK02c-DIػYw+]~U.K1qz(g;Nk??Z:ިVs=TlI5ZHc9]UوJu;ϕ^C`OOk Sτ؟;ߪ]?LW{>8j ^$lU/isѓ 3,d _V\VJv0 eT,L_Թk|qI"E%N=F] 9#^Tm*WuD'OTUTLi%v.Lpc1PL>ik*⸙F=6-q2#Ӫ5H+o{/b%ҽ2w'}r*;q m\L?m^&zȼ|E\XY:> f? #ڷsev/o9D+I-7ѼUSnN|}M hٸSؤX.7DAH)Q3.9KRoɅouJ+>J/k7[: X#OwƺFjUV_Ex(Am_Ƈ-˙oP]cwxƲ5N/+F%装Ralۿ9mclvN) K٪A؋~J_}4V@nx}*F c ]{y+0J!;"{xlΪ.+}umFb5E%?&>|o2@XKpO*JM_Ysx)70j@Zh{M9Q[o!ՁJCJ}Fn7GDJێg%S?o e驹st.9aӉܹgVM4OIIxz6g_r/eߊnUxn惥^X_eggtlڭ( Uw0mfA5$6FvQEfx?o:27iuD㬯Qoڻ'Z*`Zj}}}OZ@Qv;o;StVBomoj&^i7w{}ˊ<.w/aɱf<&kfU ޱbϧސ.4Cx92-_VG{cv϶|B9ԩ/zV2Y5ݰPu2Ξڎs}۝V~;o[v}us[ruyvUMo1m,{-K*OClF$juʬcK<,uYx玎f_Soաe~W 3Tr5/'$UԌ6NāAK}4tN[G~]AG6|1-J'[{'N,B\AEm @TogrcXIx,C,ߗLV@HX3oz&%\rIRAKc_;U$[px:+>r_j'e^&RVk~D6ЖPH.MVu_[{|ud}0dV~3v fĭcՃͤi8hyU{7}l*wbsY$#n nn}XCA]rAs/Al:O`[a\dǨL\Wv->6xvjFIԳ25R<7͝6J:sXԥOvؾ8\Jd5hwvcuRο9G%`{bn2,%vU~Ý~!ni.ϒI8kOoɷ`t `H>q\TɌդ" <r6|&DQhoA3E>2 yLZ%G뱙՜¥*\S}h$o.EVȵ(2E&ʡdzV…Oqd>;Q5Ja?S|ӂ53EggjA Tcl3>fڝӍ!X44(-40 "/ nj* nRgI$ i𿦷Y9ȟN\AmE'=1;GyPYh?\N$- (!u!eپ1*gR7L!(lNBHp;̯W5껌E eRǜcxO)*_W.qcwVtx(vi+!-*CFa'M ~ b­Jf]Җ.bKnޟxg ??S[UPۇ0R?3;S8VL}LعyujkAq<HVy(hOw-1f,Uhld(KJY$D,͘nu[[M%wVl.iҒf;qs\Na⎯FGJ7{5)ߨNݧ۝F7<)0]xd6,<jˣ$gWtȴ䎣( ڟ`;-S\?#+:Nc`)ҧ_%Tx;R,%JT"2J1I:,f*?7Jt\É$b^JhaSڤa㐿籊[?*'_yK;?͌YI.us%YY-єI%K"%֠f{9ENB55<fBova]<J[Q yG_&kъŴ.2 M],ųke;Rf#6Mݐ#l1o{LJSt5څn4~# a2^F>&Kv%f*H|ߖώc9 EV>∯]gk)&JTXRJI;Ԕ [n\Cu1现z\T#Z]/+BHA[Q~a5a5qod<]mU_9U>OV2{Q^)Z? O'Gt߼(G,lLcu&2o9 3l0N1u^yu/jD 7H9'ꛆ^ܒ li)(16#ٹSIT-pln /|%Og~9{2\7U5Tnplo5Mj>yb+Rr^u9ڞSUa3rMS Up ?m pY i 9}xӑJ>CR>Bm 8Gr/c_xjÆN'Z^&>q۳Mo9B%|p탞c?!ߺZDY MAXz{|;e>uICaxLm2OWR,d✥>B.3QN4?*|e =}y&u{~>uwӮ-<:lOET!6t#?m}mCCn*IT׆=q;+[a~\I"!m鴥 j,D ?F-ӯ-5`8ӫ=}]Jf߱-~XPN(N6b* dg.͞7R^fWur ;pNjd-/9>lz&T{ʰ {t4t9;&)_ܙS/[U]{/< =[;ڼΞ|?+;u%?JĂ1"ZZw18 ML?' =H${.톾]+bkdd-|KawED1jfͤyN*-Qc|IG(}k)JBÄWw*/NU kyeCϠ"lLnj5:7>9M)|q|(T%}ןWqj@j(ViK߱0.y^gؼb\Q`r^,t ^9>_&{%x>Bngd"rjG$vXo,kſH1>E 9 EGvS?hTE7xs şo8=ѝ9Ɨ%fW X=<|s+^#WIsM>d|HȦnr GDn3pTGKqX;x]tv%lex֔%o^zs3 g.kۘbOz0}F??ǿ0!s;SZ@᯴o S\lP-:7M $H*NƊcZdt PydaM"fk!`!=p"~7BǾk%Eԇ]o@9͸-Yr@+ut)gep}W2eI$|ڦs3Ò=Pf_H ^_ƭ8(]>>'+9Ejba1"h<e,MםԒqX:}0ņNggš搐ꃸ4Fq0dm2cehjcXeI"(mGޢ/SV1o9(NY"u'r.,yȣUA j-OIMW:(H(K%\t*ˤ?I+of).PJ(S=@/ќ۝E;KmNIW \$Wm̮Nӹ4{ /))PΝ%~u>wvʥU%WXtew]lXexTcNo@@T:&nEӼՏ>x"m Q]?Γ/]RWz}-ڱed6ա7CG}H?BS,ƶłl؉ޭkɍ=vf9B2|q̶eBeINFÒ~:H^.^[3Ht+zQc8pHe)-5T;Y@TyQcs`q"!Y{퉹y cl% xbɾ=7J9ɇ5%X[X#0>kwyuk%m}!:Xofi5k!YsrιCOjrӻ"Tks!oa#d<@M\O]}=u;˷[9I4JRdYܥ\ɹy|5NDP DM \y!*S_s4M kL@=h a#{;Qy)Ksƾ +-:fGO'帞p U>w eе+J/CǠR=?5Y$ZN> ,>"N[<:7#B)g^9Z΀㰮IqwFo w1_{ g!d%&jtB׫VL|TFUr(-_@)h~jƕёV.G)8SnfN_O5YmIE?URKwʶe쭨G^=g(7VET򧤔 ^(miU&=}"Ug6zbUeʟ_PjZkN7b}>[ly39315u4+oj(Qo1N/=J'>:nwy4 Ft~)i' ug3[4cj fZʄu![{= ,]Y?*9gTl uNW$˷Ҍp!RC+h!QZ&z ,^!{9"̉Nh>.(\Ll31ڱElN6JVv_mp  6#XEum2^aUq UPwl℥(W xv&"@JϱX7^zg [sF/S&mUޕBK*-5"% M[' wz/pmF\TOՍ߁50&g:r?4 G_-xFs x; CO6Nf6Es݅; ⤳r#tj<%nEcs)je2)t3_ &^L; i R\?oD ?m{qD2>3xW{*w6f=G\YeU!f?Kd5Z}7YχXOL}~"5MJk ڨGLҪE;]3F*ɯ́~=Aۺ[r(\NS(q?Zz;#9r;IV& EG+*ODT[o Kc9C~Y zmݼ3"|$lk;z=9ޟk/o(ij2^8q7DD`FCAfS-Հrc?k!cH>%]s}G;=r7yph|-YOј$HC}SdG(?:.Df$TRmN-qQ>8d6!YG"Aǩ5KJ (>K}JOhz Hi2>ZUq$g.jc_G~,z0[}JȿAH _^wLw8s?"$i,҇cR54Pq.9HrKߘӹ$,?55O#Uv 3Tv @~+>s0"X3Zo?w$S