Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

DoNotOpen:SJIS : Re : jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_1_8_0_4_0_1__1040810200.rb

60 views
Skip to first unread message

YAMAGUTIseisei

unread,
Apr 29, 2018, 5:53:54 AM4/29/18
to
aish -o - sj.txt | tar xJf -
http://www.vector.co.jp/soft/dl/unix/util/se013979.html# aish # iconv xtou ack # nkf -x


<<< 20180401.txz 12916 byte (sjis) [188 lines] aish 1.12 >>>
!!!@!U9Q!5"XRojH0D6i[l=gue]v!)$m!&RoF@!$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!?/&l
%àžÌÅC:œDÅ– ®A°oŽ Ñ@@@@Rfd3ãydàÆRÕuq’ƒ'¿,uÙ©—Ssx^Rf«æª¡j³/mMuèø9ËÕÍg.©|SÕœ‹OIÛ
&5ZšD’Ó‰àÅνh¡S©jŒPÖšÕ;3)Jz›âÈ.ÉlKmÂÀ º5(âÁ)Ô^¡Ó q¢HšL{®´[|H?énè@æ‰ÙiÚcj.¡§Æ–
'6<q—ë‘@šáVŽõHU~ ÞdIÓ«œØäxrZ¥|ÀÙÇ@¡Íä¾Íª³¡Ü·Æ.¯Ö¡MjÛVF ½8½ÔÑÂ-Òà@àw|R»èÂÆãP•JÕ
)D^ÀY—g*šd/ÂQܹ”›Ø‹kŠX–ÚÇHæcŠ[H›\I¼o3¶§¡é…éM0J½œw+Tn£”‹Ì±ºF@5›p^rmpO• ¿½-TŠ¯^}
+ †ÄÏã»9x_VŽòsºw°D›±‘³èÁ–˜[¨@aÖvÓÝKå˜ÃÀÐz¨¹W>rK»R¼q/9ä½TR[¼—±FE(ÑM N0¬ßºÎä}G?´
,}oÎm³³”ÛŠ‚^^3Å’¯f6}Ó厞‰•ŽiRwŒç£CF\BÔ¾åRBK“‹TÌSZ}ÊÏÝ3©Vr{àAFÈ ïÀ0ÈÝH'TY±ÄÙM'A
?2¹FœGRn+[etÝßZ8 µ×—¬4žín:è¦2bK}D n ppâQ±\Šà4|ZšâåIC,F»Ùf*ÓH ïÞÀÌ¢™l¤yéi8wŽ×Ý
/‹½È[ÕoÉ.MàÃXSÈ“SMkÌçm¦f\ _œ©ßhWjLfžäæpE=›NÕA.¬}×^ix vP,N.Gd¦b-R4Lzgß’@@v{Jœ†°
2Ï@ª/ÈRe{™óJÍ9ÕžSÊyÞÔ5bÛc®=²©°™HTV kmjgédqž””ÎÚ3•ˆÇÆ[Ò“Þq|»Õu¬—p?çÒ¥r)çioâh³oµ
4X2·t‰šä m2Hʺ¢¬¥Ì¿I?ARçs¸§.Ÿ¯Ó·:žñÑ,M–Ø* «t¹:¾ÕÔhdß7JųSYÔQhæ”±-aäPµH5~¯œAÕu¯
5Û«[žÆÏ'g‰³‰~é[çz —ÎÔ2GÀyC8_?—NÖ¶Wpss·ÕÕ6£^Mo­]™¸gWy³tvae fmÚ~r¡º0a.kÀ¨¥/b@TSÌ
6¦2Îعj6»yªNÞH0ɪ«8v~¨Ý¢ZÛÚJŸTbwÁtcxOâ•ßr+feŒ×3´]è‚W©Ùk‘ÖŠ˜£“Ÿ×SYÖaäêJ¹l §ÇpÓ×
7«å£ ®4Ž~–—DåŒUãÄÝÛÔš²Û0M´8¢Å-žN¨ÊHFxd8i–ë’÷½^8£eMtLÙUÜm•˜»N¹c8H1¦mI¾dÁÇÝ3«±R
8‘D¦ÏEºF¢æ_ªš‘ŒG‹~Ò³«VÍ+fèñ_PÂy=l¥ÃÎa’‡›Ø¤rVbJb³I~³}Óܞܷ‰^ŽÉ:ݳ8›‰ž¨æQw3ÒÍZ”°
9¸PÊ7¶^^Qu0Õ•eØN׬tÛÅ,Æ=;zBT0Lhz³ž}ÁÀHiO1ÚÔãJE'4È]52È<I§·Co™Ñ’X•ÇyräŸÊçBn™‚vQR
:µV=CIbC¥Îg±É7ÌÈWÔª8”G\¯7©¿L ŒA:0JX¿”ÕÊn8ŽÔYGYºlIÒârŸ§µ4£ªZ ݑΩAkkÍ òVjuX}Ö×¼
;¥o°¹× ­3z}°àœÒ£µ^äÆÖdq¬HjZáBÎ( „w¥Ïc xZ–Ô_ºœ±ÄQg¸n”Ñ6 NÜ¿±Y—½ ºÞK¬~J‰dåb9 Ê1P
<IáH{rsH¢®ÌzK£äƒS4×ÛX‹BrEYÁÈßHNh“w·¼g™PºFzº.m-›à:ÌOŒX<ÉlœŠ–©q¹©t,Š ’^~R5muãHØZ
=™gµXc—ÎBŽÄx’kß–ÑÍ>Ȩ8ær¾PäÊ´âQÀ9°Ðö bŠ›ÔE¦ÁãÂÞ*½Ä³ öTAqXÖYª¾Ò\e'¼°a5“_zµuÊFu
>ÓÑp3:Ë_§‹y±ÉÎ*Ýnlœ¬ÕCƤ—žÅ‹‚F⼶Þclfp¦,¨ x²¸=㶯[+åÜO¸sßÇ¿¼ã™Øé¡}‹¾KLCÈiPDŠ»Q
A—‚§3–—«D’‹§eE¹ug o¨Ó»8ÞÑFØ8¬/¨ŸsnÃÝ·‹ƒAÆZPK¦¤5G/ÃÆÔc,k+Òy™Íp9+›Ý×(âj~o Ø|t«o
BÒ”±Å¸2žìÓ9¶pÅE™LÛ~—§9Ž¢d Ì BCÁGhÇ {ÖÃ<ÈOP§ÖAw™q–¥ÍKDÉ ¹Ä)–ÎoHMèk–@¡Â*‘ÐÙÉIº¨V
C@sÒ¡ŠŠ¤0+Q9•è ŠÌ©QcËYÈ|[SCa4mGéd=¹2’ÁãÂl¢¼4–Ç‘P^AH{iEx5l2Y¶_NÄMÍ»¾Ÿ¤\®½E‹¹S’{
DF³½-Ó vØ’J^cµ<À¦ÊUÔKÏ éÏM7ÙÔ¯¸¹âfld¿áloÎz^Cç©+}BWcÇ6³OO±Ý‹Éb¹'¾Œ·TC “Û²O±FÙs
EHÇÌ_gÞ_[žèG¤<}wäwaI™Â:Ô?ã‹“Ê }ØI-n7â›8Z½UÙ3áC©›PèM¦OlJgª-±œä£b),ǾÂ<ºázÍ3Ý0lf
Fs@C‘\¤ÒÕèÓçYÆ9]6xmA¡*±4‘GL pq•ð¶Íj­0l3 ®¿Ç@éšÖ ê;¨ÖkbG’A.BVl[¡z¬icZËCxT>0S­Ü»
G:½] ¿3=hyÓ~Ú'YMÅ2A=ÝnÔlç•©(B²èM]yJ¥Ôv+âxwaEÄ“’Ôµ0œ†k¤l´ÆÇ2¥|¦1aq ƒ=¥ÁxÕ4¦×Erº
H¸ÍDŸÄ¤Ñ‘›N3š·ÖJ6ÌÚ£¶½¬æ±›h§à” }OOßyU®OŒì7Y»·(\¨~rКgªo9¥ÔH“qqdXj–w9³Ü¨ÕÅn}ÆT­
I™¡:—a VwÀTTÌ*ÆHæN G-ÅUÛ\FNxãε´çŽœÑŽa6F9ÒH×´TT^H¼µãjÚt¼u¤@.\s~”égOéƒÃ¹Å¾-i’ŽB
K«Ù¢ ºtA^“š¯+Q,¹¡g®½Àsé‚Tu­¿Í’Ë{£ ºUÐK yp²aÖPYÛQbË=GÆ[ ö ±3a?vF“Õµ¼»OŒÃÔžFXÛ8Ù
L½2ÂdÇB‹g5éɪrç×âïÜVWÂ*±Z.Ž‚ØKNÏ?C9H¨½s=áFÏzßæeÑ[TiÓ×ÏàåÜ-” œUWdÂÄËG «ao{LÔžP
NW×hHn ¶3{‰fÀVcu›ÔµâÖ®EÅz¡«D^|•Õ´rÜG?R?ÇâíWo2äÛožÊ*N´aÊ/Šv(ž CÍq@§7àÝJJ7t¥‰ªÔq
O”Pžg¢´§½œ¼,ßËlÙBeË|Ey§ZfoÔÖÒD¸©]Ïv{Ý[·‘OV6Úb7wÄÌhÎf2ÕÝw«ÇÞŸåP¡~T’Ö+·Íç’œàpÕÕD
RZBãähOÝÜjàÄh¦“¡8àU›¥C·Ú{WÑèÊ‹OÒéÖÍAy@æõ´ã¥ÞǺQIAeTäU| S·­ç¶Œ±ÄLk5\9yÓϤI'§Q[¯
T¼P£‹²›Ü0µ™N³ÁÍ~_¤i°yDؽv–çÌeIÂÆ“aŠKD<«:šºËqO¨¨ZÄ ô ¦)L¸Nlj†~ŠÈ.NEÀªáï.5‘ Ç«ß
UjË:\Â0b´W|ry,A1F±@+HK‹yÓQTt±Ø¬ßÈ}M[MNI7[á•JÆÄc(UÆB‹§‹«Ì¸¤L³pŒäÊ¥µ¢©ªRy{¸¢178r
VŠŒµ¤´·ŠôÔpÜo´ŠÄ›u'Òd(nb¥ŽñØ} ˜â¹'âÜ/¢8g*åLÄ=±zØhäD¡¨KÉ3•al¡Ÿé¨sjH¼ÐÈ,¸Ý¬ PcPl
WØTáaÙZnÌ® ec1CÄ ±¦Î–§Æœæ{¦1à ¡»_“wÝ6›ä¨Èƽ_/‘ó¿;(¦ÚnX¾tV¦Àaq”ºR¿i““9Ѥ-©IÙ‰¡h
XÖ£+›Ùv¼¥ÎFÙl½ÜŽës:29ÜŸ¯Áfz R¦Š®T—Qè]—î ›.EV3©ØºO }³Ïغà_5«Î㪪:P·Ü]'_JfMZVÖè\
YG6¸‹‡=ÊÏݵeuºMè­¸{½F¶çX Çc,*S¤Ó ³7V2¼ÇŠô´¤W¢0N–Àé|¤s~Bg¶AW×QJÄo[¨D¹@äb· Y?V
ZS'\3L¥¬\vŽ·]ªÞË®lJËr­Ä0h¸Û_Úq6Ey*ËP´m¬ÛçÍØv” Æ/GLRPÞ ©]7šÂ–îËF\·uZt<¢É9ÚV-c'
[j£ŠñŸæ’­á}èÎyHçMhh¾rUA,\ í®2ÌQ‹éhbvܲ«Ù¾¤lM^5‘ÁG«Ó:L,}ÃJ¼dŽ lÖ5ÙyÀ³ukÒ/0Z”]T(
\ão^àŽÏvÕÔŽÊá©5=çaC•Ä®3æÆ3Dgæ–r› ÿ×s9º0ÍX‘jÑÖBBf,áWÛ ¦8Þ4I7ÀTX¾EuÃhH ðB©¢Ê©7~
]ÚHÒ§ KŽz£X.èãªWÈ{©Sx[šñŸw~¸—Åg£Ím8ÆÏΛå?àªÒ¶kTqäG¾gp¾šu¥›ÍMÏâöJs@à‚¨EO| ÇTÀxo
^[ž†GÌMY ÓœZâD_¢N˵߉W-O¹Õpxr®}×yUØC)Ò1,{qÓzÅQ»½Æ5µ×C›IXÅŠ¹µ¦JÛ5ÒçL=1\º¥¯èÙ×h@
aÏV3×èL¬—³™Ü7›v¢BÓÞyIÀ±›oWikËjÏŒf99J\^[T¤pài©ãI,b£R~ÚäVtã‘Õ<@É~.b«¬º¨½Í³ væô7B
bYÇ¥t]\¿K¬mç¿ £ ð zºä¥¨‰@sy«¶¼ÔÈ£ÜHCäàLŽÄæž~?©Õl¿ÃmÇË‘f­.ÒX4LgrŸÄF?f>s–~N\¼¨DÉ
c¯>[\cã¢F¥Q×x1¡šš]_O¥X]²¯³sÖ<¡³ÜgȪ¾sÏ¥ef4¾œtU}F’šPQËÖÒ0XæJ’¢ŸO¿D¢uÆŸ®d×NÑb0am
dj/{[Õ¥^§åš*®ŽNs×e@æö±vI-¡°¤á«Dä¼µÂßÕj_•©°ËfHÑ«¿×}6²a´¼n»Êm1à´g‰hB¦GCÔ1à€ÉÉ:‘d
e¤ÍZ¬œ¢¯ªnÕ²Ñ94ž{¬NPMtYm+.¼ÐP6›ÍÃ}¬chMLÅ5=ºÁTaŒ¹'p]Íœó|'ÀT {A­6×ÅFiÅbÇÀGc¤‹r·Þ
f7£’g¬ÔpD¨ÏhÒW|ÕŽÔb¡×«”d±ÂŽ»c(èÝG•›u0|£âÌ3?(Ü8AsRÓš‡GFOœTйqžå1æZ¢OÔ;ÝÒÚ \¡¾]®
gÝ+ÂgÖ–©ÚD›†+3TÐy™„Yja¾ÁJ¬CÊ¢·Á>G£d¬<T’ï<~§è¼Ø¨ÚŸJéÄ\ÏYZàbV<´¯âuãqB·‹Î³Åç¯KGb
hWPéu9­ÎÓh8F««ªÈ¤–U®¦Å“T©‹¹j—kk2,d£Ì¹N\ç­èP³š¶w6+Ý]¤FPd‹Ûzgj¨åê¨cÈt¼‰§Ë~ÉéäyiÛ
iiË4àz}¬^¹£½¥¼[@;ÐË5fz õZA@X*c‘ ¶·Z¡Øœ†Ï+éY]Y“Ƶ¸Óæ§)A=8H«³TŸÌß03é×Y¯3j¶m2Ìײf
jºL+f Œ´8Ü¢‹²bDÖG-Ž|uÇÝ-t|¸y¦â¢Ä‰„é‰*h¸¹umRc¨ŠNàT´<Ú=×ÝQŽÃÝq—àßÐ8JT¿æ᪶Õ|ɶ3²
kÜ”CVj±QzáÉ~ؾŸƒ®jGZ۽㰴æOh‰h¦XD,6›w ÃÉ:’á_éœÒݸE*2Ák.Î*ׯ µ=ZºawqÎ+v—Œ}¸ÕÚ“T
lèåËÞœYӣ̪_œO¼µÖcÏ¥¯b«•‘‰q渱镲•‚a•Og¼¿-«‹á)Ö¥TŠÈ]¬äZ\œePv9-劕¸½¹s1¬K–õçË“§
m|§²ä€‹¼Ok£¬tÖ~Ò=+2ËÓ@ÍãDbÒsgaÇNhعÞé}<̵ŽÆ(,”b=HcÔŠ yÖÄŸï0)R£Ay­pµ1:|–ÝgqlÉMF
nS–åHÝjÒÔtÌW>¾vàÍÔâug¤Â£¶ÛÑд‘E´Êâ‡Ï嚯ÛPš”ŽŠ¾¸£Îé®1W8ÅÖÐ2É¢Þàâ¶æóËRåF\i±ºkÄ\³
pÑ/±1Ù*4çZX¹ÔR‰å¬­¬4pˬU n1ÃÈrIÂÆJ¸¬‹m(4Â/—¿ÍZk6^¢DZß™µÎ⿨éwœµÇÑiªç÷ ƒ/´+£TÁ0
q*^Ï0zÐhJ1œ¯<xÄ Oâž^ÓKmŽðBŸ]Ê£u\Q1+âÁT6¾jÀá“Oè» ¢I‹iÒ¹nÑd¤¼áÌ]n,;¬ÃÜ×w¡qq°'¿yP
rFéö,yÌ-žPR‘Ø0Xm)É£¶MzŸÎ~¿¯rÏC<}“å–vÞ¹éÝéÎDØ3O;WiÝ~x¡yËÖãæn1:@æ­A4–”ŸŸ¾²›ª p*P
s6gâ{.¿*Õ'³åœymé›c)Dn·ÅC ‘¿£hºÈrb´–J´2s¸¥ÖÐnÊ¥F|‹Y”d¥¬Ž‹åœ¦•XždábÐæq¢¼»Ù õÄàKG
tmVÛÀ9ÄfŽàÔ¦ÌÇÜ‘Œã£¾¡wÔ=) xâ~Þ~QÃâl©â¶x‰¸ Ðc¯ç¤u~ZØ«•e ‹¿ŒïlEµÝ¥áhfs¥ª”ڸȭl²±
uÌŽ·àŽày’ÝÜZ»¸.ÊçÆÒuãÝ—ì8Z;Ë@½8·©ÜÛYo¿ßãßžpWZ'Yit2VS7WÎä é€<)_Â6°uÞSÍbTS½›ø‘”M
v_ËÛ?KZŽÖŸKJ¬ÉeLØãÜŸGʪŸÆÏ5¿µer(^wY­±+¢AèY5ZÔOIGumÚIIt­O nmÓxV\gÇäÌPaIhÔ‘ÀN­|¹
xÐ/Wš¢fMâyÙ<Œ°+ÛÈp´¢­‘MJ]¦=]«aK'¦ÞhLj§¢C—ðUÍUšÁ~uPDݶ‘›x –ug«R Ôndnß“p¼si·b^TI
yé}¶åª]Ñ+ÙV_N\§mÍ75‹RÞÔ–·ª½QFjld’Â*¸¸Ï-¿n(,5FX”ìœå¯FŠr>µ¨©u½qÇ2Ó=ÃN*‰Íæn²;i8q«
z:0‰}£VU(NÍݼåN©JµÏQÕ£ÛF³žt^Þ¬rI×èƒ×¿Å2–”LsécÓ6¸¡2Y‹ï/VÝRÞg,ÁÉÔÓ=²ÏNÔž£Iäê½áK.
|@yUÓ¦°ÐKkߎÒ9Á‹Äw¿¢uÓ.âÒT¼æ–ÚUJŶ‹xYL ¡gD,Ô9obÌ('¸ÑbzäOª¦YÉÉ«¯ ¢¼é âE£n³¼’àŒŽ
%0Ï¢vaá¾+:ª¬}[ß}¡Ê­Új‘âyÕ¯ËÛ²ÁÀ º'­¿šwPÎÄÄ¡M—‚ØÁV¤FdƧh{Ŭ´ Uª•JËX­Ðßu›äKaY” +
&K¥‘è@×|£<l¸= ôÌÀÅÙ½^ڼ®¿ßz–»­,¢w?ÃŒÚ9·fã¢Ñ7ÆX‘¡Ì±¡JÇ538F,fÅÈàPÊ,®zѪkŸmw|—Âs
'Ü¿¯æÅ9‹›ç¢AEÉ+:7@YœJOHK,—šÌžˆ¹w4‘§+.Q›NØ«'Jv\®ÚlžT}¤Í)ÂyHž®¥Njwšï¬‹ÄUÆj¾0z¿¡N
)”ñÊM ÊeKPʾ¢ß~9ÑÄ;tæðyÉE7QÔ¬ÅζœLtÝÏnÏ/1’ÒQ,®y؉pCt ‘¶Ž‡¤) Žqj,›F=/]rçÉ´Ð~ÐI¿
+È<¯ËÚ®J:]Qj¹ÆmNQI²´ÝU·ÜOO㣼pžFdKSv׺‘¯¢Qã[¹B<ÞgÏpÒk8á Ö´Ô7WŧΟ©Ä[;s›à×ʶ·
,råž[/¯5Dy²0u¶s´ ZTÝÒD_­*_jÔUçT¡ÞsREY‹Iªvf{Q™\Äg¦ŒbHJRoà±¼KÕJ\¾¤1”íW™f:iÔW2T@_
?G:¯“ÖÑi)ÒÓWBéÊÝI²Ÿ×-BtLK2–[¨@aÉ+PNg@ ï{{°4œsXœïäÄ'B| ‚ÌÛQYNÑ—²v¯§Ïhå¢ÀÂ^(“Ò‹
/lJÜ<q«N´°3–‰UÎÄEj8ºf@sà›ß8<2f¸”fŠMvnQJjQÚWuÏv´r]Ý[–¢µµW,<¸aWœN(6“Îãàs6ÂzTuZ•O
2vuNÉâCÈBzPiz0g”Þf¿žÊÆ”moÁãKº‘D_æd/ZPÐUP@Æ›öÕSϯœº§ç 'YV ~skQ¦ªÍ=v+x nÜ^ož´–¸g
4SÕ{Wt@_,g› QaÞvUf–AÚžaæÃÙŽn¿éÐ5àtär6yeCsSäØí®±i¼ZSm±©ÉO¡;vÓ;:+°«riÉxq}má­u7R
5žÛI¸¿â°3o•ḲNjÓ[—É£Á,•eº¦0«È- á(Œ«Ñ‰o“ÑNÍÒT¸@ÅÇPrWBP\0¬C¯^ÕÖ¾ÑЊ¨×GÂÆÓ;¤H×_©
6K'z }MmmàÍS»¢Z^cÕâò*ÉE;2d– ­«nyeÄÈhªn?Œ_LůBv‰±Æ·³TNO×HŸfÍe®jÊw||Ýž¹Ê°7¡5@¸A½
7~«Ü.¢”U‹zÉKÒA¥Å-lÌSTÌåK±²½dEÚYܵŽkE>Kp–€7åA¹äxmUtÇ¿¢ÏÀæ‹™HÀC‹Á½PÚQfØ;|swWRÛhA
8NsiŸ“¹Œm=fÖ™ÕŒ~JP³•’ʯ½äVFßT’‹®x¦æwÁs½PX’iLÄ6D]¯ÄÎ_X°Ã¶{YcÂVyšš<ܶ¤'ŠVÉ·JvŽ±ª
9£áw]GW–ŒŽ«[É¡ÝS)–‚|-àв’¯lÏVJ]‘Ö^»ÓIÎÅ·ÃgÚ×›†Ó—e_Ì:bU~I«]NŒëI4—Òà‘ÀC;´.VGu Âe
:dŽ‡Ç[ËwÓÙ½ÒK<ÂAKHuÚ>Ħ@po›Æß¼.¿Ì:^§Ö6ËL亞j–Äß»ÄLn¶ÚÑZ• HŽiàO¾u]Àß6vÞz8_W¤HC
;ÊœnYy–NUϦÇÛªµSÎ0]èˆÅP/zŽ†Lr¸dUžËRc¦™‚‘¶TÈ<D.[mMÑÔÂb¥DÒÔ±GUÊh߉✣·Ñ¦l8'Ñh•ºn
<)Ï;Æ^¨É [»vŽs²X®4ã@ÚÏk,µgRGȱ®¿Z¾| ³G£l”ÓJe>aJÔ¥½¾UXá”Ø•w–p­7)Äp<Dm±ä°ÓåT‰°jm
=V½*Ùk=Õ³Ø|ÚX+é{Ïn4_Ö»¥zÞeµUæq)£BÎä‚ Œ°¨Ý›åP1FèA–Š±¶ÀâÑ1TËÙ£–—ÕT(ŸÀsªO)<®žlè÷¬
>+Ýk7Äd¨¿ X2žå5ÌNáíSz¤Æ¼å¹fгâO•l¹|×58éžÀ•{›õRØ.žÍ±ÉGÝéX'fJPixoS IsFÙ®nz]N®y­
AŒßŽªÆ°N× FGÆ¢OžGœQݯPOªÂSͧÒÝ'^Qlܶ7*C‘£¹ MäòÙ¬lœ´×ßo_~£ÍFPË èeª QÚ:*¸aÖ'À¯ J
B «Ø74Ëβ¹?jÆ:Nª¢ŠÃy5vyd4T<ÃÐ3*ÏšNW¢Öºéj¡+F·8(º^» ß6¦JK°G~x¯×šÕáßÔ´iH–o ®½·NeB
CÁ-´œÈoã|S9geAsÁ3-pÓ;NBaHj1‰ÛÀ0° µÄªÁ/<eTÛiG“Ñ{¦Ö11+ĮիªÙË+ ­cÂ<œNß°N ©XlÑ—¶i
DšqÐ<¶i³ºÄ™â–g™ï¾ÇãOa_âÖ¡psÝL‘OCŠwk®ÏGNÖn¤‹NܲâsØÜÔ¤ÚsX‹v¬2éLÒ{«¶Ò6ÖD™µ­te©'ÏÀ
EU½YyÓ.9KÁLYÅ0ZØäBW¨:)™˜7-èÇwÄÑ°Xå霞¹OÅfTiOßC åÓ k;SÝRʪa¯¼à«aඛøL3µ4Ž_\\ÔŸ¼
FÀ­ÐgÒÓª+z,?¤¾ÖËfS¤´kbzà½(—EçÏiÇwÊÏ ‘ÁǦä[kIQ?³vª.=_G/½¬¼‰krÁv¦×[.“Ø‹]Ñ}+Ŧ{©
GoÍ® Qo¤°Hšìœßž‡6Þ YN«Ìà@džU©Ã>)åóÅP¸Í¡5:Ôk³Öß0šLwæíS8x¶ÊÑçöØÖ'ªÑ|Ni·©,H(å¹Í[
HR:‘î:§1k\Y/nÁæ€ÊßÕTÐ]kÓR¶iÊ¢+Áµ´¸•§À õ׶²LŒó] Æ\N¢nœ\œ±¾ÙÜ@›÷G ®5Ü⽌¡rJ/pwÏd
I¯©e[㕶Vº¡^}C1y¡ÍÏ@¸k¯:Öh—¸^¤5·CY”q·åÎCàá.qMå «—³@tÈ)Z¬Ì”Jl·ÙÍzØÈËŒÛ1ÚNsšõ CO
K;wÍq¹[8»Á0ŒâÜ”è2rn¸NB´âbQ49“án/x¼ž¤/¬9Ú¤ÉÛW}bè[]2Õɸß]hxfã—´èÝ• ^¿ÓšóyBWdÝÝ1B
LZÁШ©ž˜Ü@ãiè·£-·Ýã±›r}:®Ëß3H(ÃÄÜÊ KI £M«‘Šä åS_£bÀ­ ­1à^ßÇB¢7+ª5pÛ/=Rãnx VÕ«
N¦{ÔZߤ–Co8X:׳q¿ç€”ÐJ¸›fmH› Š–0šÕåJ*¸;[wŽÛ¦j´™êoÀ6-_S¥c»¡BçæÌ‹G …C’‰fURu”ô²³
Oi:LÕ2ÓShŽNYŠÄà•¹¹ŠÅ}’™Œë@Ÿ’I´k ´~A³ GiÙf,æå(SŽÅ¤:ŽEª—¹ŸâÕ9—¦vÔå³›pÀr¬Oßç}Ö]k.
RéqÈÉ ¥£œÚ b0šãÎà’Ê¡W—kqǼYßB6M«(pTCJ1Œ žž±Ûa}‰è¹ãÐ|µà¿6é¸bÎrÄ1VÝq âÌÁ zJv)¨_i
T92MÇœ¹¡+Á¹åO¹p‘בOÃ2ÃÖ¦¯;Kt̪º§BqèãžjÈ ¯;¥C±º—ŸoaGÏÒq.(¿¯lÉ›Àyj_³‘ëvV«ÓBXØ©ª[
UŽÑ6¿×0Z ¼.ÊPH[9™“DœîÌ ·¸ßDd.èäšbz±0ªG¸bçG5fmIŸxE¬Öi1b9Vg½X}’õ\¬±WLlÖ²Ñ14+®Jqµ
VÜщÅÈ-™¤eu “â›Y22Ùe6¡_/FFY4¹+oY¡£>Ú»u^ŸYm8Ï.zªt4VWÝÉ q§¸F@_g@ÐqšdÁ«A7R2—Œ9É9H
WtÙèF}¸«œ°é™–£ÎÓæó~½n§¯k¶YS*Ž¸Š@ÒÏŽœã Çiæ⩋—c¨Ây8h¾É¿à_~ÂZ»´© XÔÒÅèŽ}¦²ŸgT a
XC2ãçæk¸Kµ:*<}Òb<Û‘c/9Ï’«54FÁž÷¼›Ä6*v TKof§]DÛÍ5ÔŠíã¾:®dfŠtçI¬ÛfÜl_×Kr“ŒEå[aDh
Yq¿C©EÅ,8ÓžH(ž\2»ZTÜ2V^D<’ÜdãÓ±§wcaו·™Ö°ÀŸ¯oxAËL²Ï{a,¦v7*Î@c}äæ¿.ÉieŸ¨jÄ®žh7Y
Zš»ÊS³/¸ÃÊN¿”K~κ“D—È2hŒ¢Å;5- OØTdVcÐä—Ž BSÒ¥¦TQ‘‰/eÆ-jÄt ~A²ŽYn=Ý žPÇO§È´Ó'¿Ê
[ÙÙ‰®{)¢mÏ©•±NÂS©pçìÀ. wUZ­™[{ÑßF’ÃT“¶EÀ’Ø¢Æy–\3É^‘^ÒjXVɦj3®c4T;Ò“…> Í“édÓgpG
\t+žeD:~]¢;m‘r·ŸÇB8x~h?¡)EP®[™³Ü­*LÏM¯:¢+È䉶sÉSuDs´df B €kT5ÀmMKÑ1«ÎzÈ,AC]Ç´'
][£§oÛ\O ›.5-W:ÉéVÓè®X¹yQ¾W.3 ¹‘D¨žÂ«E^ÞɺpÑV­Ì—j´;O{ÄÆEM½¢´£Ú½¼_e<àÕàÊÔ¡LœƒC¡
^隣p“f[W²É5kÊpYÊ,èɾ©e­Ææé“Sn ˜³t.+èÇÉWÕOhsètUO'çåT3VQy¢b•ÔäÕçBÎ(l‹ÝZàqÍša‹¬{
am§²·­~ß“‹A–l®QpV‰ÕÊ©éÐÞ|»d–„^D}FÉAwZ±ŠÞ‘q3:WÞ|'+Ù̼mn¢äPÚ¹R¦Æ̨2‹ñx;ÏgBté­Ï¦ª
b±@Ž®Ä8-­5‹¥v”À‹ÍYÄ·s1Gk‰w£«e¶ óBj}59¨A¬½lw5O³ãIÉb­IÒ²¯<1°©¥½É¨@Œk<ŠÀÈXåaGçæ¥q
cT±a|¾­dB©æì Â9*>B§m½Žæ½lfX›ÊxKlÙh¶1AVU À°Õ±´?aqnŽVgÉé’· ð¾ç¡HØ”a1¶]P25ŒS>qÕd
dßet¨^qGl‹Œ–]©äZ°ŠÖ ¹×s³j,zÆ{¾¢lÖÍ–•:låw)NŽ –~tcß8A²¢Ök‹m<ç›™ekÑq7k°½*dr±àµgϱ
eÚáº.’GE|<•Æ ³;,Ïc§;H:c”ö—QçY]ÀºWHÇÇà…­ÚxÝKÌšxß^çÚàwÚ¾f ”[(GEºf{ÛtÂÞ ~‘íÅÖZ½
f*<ßW¡eŽÔ®?}eŽOE§èžªŠï“önÆ}iÇè K*yè«IoF”‘èÈa2»Ž´OÛDb•ÎŒëvÜ(›q“ŽgÑ †¾ÔŽ†¢¤¶A¸oÁ
gŸ×µ}{”›8æ *u¯ŒRx¹8’QÀL‘Âtddœ€:ÜtÝ¡Ã)4×88œˆuÐ]:ÖØÄÍÎ4]Z2Ï)Ço_éh]¸ØQGáj/‘ªJB¥4Ù
h•ž¯â»UgSɼ®Ø¼žlM ƸoljdÐ-LæGÌ5)w5–}p Ü05ÊÔ-ÑI3zyâÛÒÔN½™TÃ/sÒX¡_ÈJÀ'®Ëc]5WQSU
io¿žb-=a2‹CŒm±?OÏorL¥éîUépàå‰JD²Œæ*¿±ßÀE§±¬œ]ÅÑRš[FÝà›*QcŒ‚0žÉ•¶^K/Ýx-‹aS.Ñm­ª
j+å£-½'Øi¾5æô^uT ÁáñàºpRœ‚jrBTËÉ<S¼H0“afc WD´tfЬ›]0ZT{æ³äÐ_¯c¬ÀTТÚ]Kž“³ÚLàSU
kÐR½¿6¡OY0¾¥åN«ãÃN•–1H¡çßO7Û‹†~-CÍÚ–A´0f”H{ÎÑ,q³Î®§bjMŒ\RçÒÖ“‹²3šÔ¶¯hnS¥Xo ¯jH
lâPL=\¼ZS88²xè‡Ï<xÝÑßpMs‘Š²g—Á×FcoæR´Î•qMRFÞ¶m§:О»·é{iV_M‘£´¾XØ+ÑŬ8§6µ4:Ȳe
mny=q7uAV ¶7cÛJ*xšXÊ·l‘™ÛÛ4é©iÒžvbs‘®¯® C‰£9’HLÃÔsé©ßW[ÇÞoJ £ÕÒÜ0S‰îËÞ‰Ž8@Î ­K
n÷ÖçhK¹ÂÜ ãp:/œ\ן‹È_m< ĪB3e rBÂßß~–—»¾C榧 o{ ŽäÔ;váMª­gÈÊ6 áÓk¸Ïãfé«_ªÔÈkÂ
p30DDqÉBž˜Ý-» ›«=¿^,0Y\«k)â|ÔºéÞSvËvºš‰R×Z‰x”ŽÅ¹_–zBÓÑš}¾fLW¬½e¢¢¨ªG1ÍQ(—cÀ^¶±
qÒ¥|œ‡•…Ã嵺¥¥âNB›¸n'{‹×—™F,4oM‹ ©ÅZª|iß²Û›Á¶µª)WçÎatYcऌ}º+gæ‹\olOŒOHtœ_Ïå¿Û
rfwÚ¾tÜ-ŸL*º¼¹gh1+è¿»b¦º-ßÈÕ “@دiT²vuÄ]Y¯U¶I²\›§×cBmåÃŒZ–uÄÃi®·H°2ÁÊÀºO9L¹I­A
s/DÁ›¼Ð‹F2ډϳ ö<8ÒPàí­OÚ²J@á–7QQŠÛWá v ¯Q­Â¸ãö¢htÃ7Ü£(,pj“l/¢5vFV°áðW]š’=<4K¾
t×T¦Ý٦ؼ¡Cp’¹U´ÉÖ{±}¼JÙ¹rª‹–‰ƒÒD~:½–F:į¡4;V×Î<M ¨3BX@Q3¶µ¥Z ãΨÆÅçî¿ÜæªÔFdæS
u8Œ»9±‰ÕÌ_ZãyR\œðÁra|P¿³Ÿó(™”*r´¦\u¢Î4.Ý»­B­;ŠO«cŽvm6™Pçb@~[,B¿ªg*¡oè^‘›Û×2fØ}
vâïCÎ/½©á¼@~ÛwÇYRœ¾vBÚo¸Þ±®ão>@Œ‹¼ÚÏŲ¤7Î~«ÇŒ²½èë‰Ý´6°’|EÄJnMH xåµÀ)7ÌŠñÝP^.@¼
x̱B ±*ÓJÎFĹZ›ÚåbkåêpÁTÈ- àÄŠ{Z( °eÜFBÀ7-¬Ä㓽^Ï2ÇJZC‹†‰Ê<Yµç´Xn,ç¯áî’u6J”z“³
yÎeÉœ›æo?Jè¢VO~D@är6âtØVMXcB”¦ •?EâM¢Ñe\<‘Œ „–}Ò­ko–¿š‘«EjtU•Ú_¨ŠïE.I’¯ÜL±2;À
zá@\A~R§µÑT·G.ØÕb ej}¿¤ÕZ¬Þa6Ä'm_•dÇ<<鑙ϚОæ¤ÎäÑi;¿('è”,Cšç¨¯R2nd0¥ÅA;ÄÒÊxÞP
|:RœÀ.F-ž Ù”Y×âqÛ“ÅçUeœo;ܦq,£SP›e_´×N•äYÆ?JwNÌá÷Õ½:M¨1yäE»LuÒ½ÂEW·Rp¿ÕáÑ'·}uÉ
%9©Oér°F7D’Ó¸Ÿ‹Ë+Æ0Üàd×Ïh¤\¥GX,Dx/ÜcP£l”º¸‘Á•›}0fâ«SÝËÍD@ËX¥cÓ0´Æ’bÇl•Ö{/s¢Š¬
&9RÌÖD­Ë¥¸{Ž×æDßÀ95},ßVrg¨-«50u¥h,2Ÿ”8‹ƒ09姑®@Bœq»“a»jèCNÛã °=HH ™5Ä1gI¤›·+|o
',^~áV5ÍÖUpX>éÍj©‹UKcªtcl™Û×Ö¶å\§ŒbAk“d‘ŸŠ™cÞĽԡÔnn+¾t­ãU Ith æ¿Ù ŒE£–G¬µ“¥‹ƒ
)YZi<~¨KRæ”’½Àœ£Y•µ8C:‘I; ŠWÏØš_—×zÕWFàs‰Ì«Â’Ñ8G*ã½XßÀ• ÒЯ㚿WÞá¢g;z¢Œ ÖEU3Ëc
+ XåÖ@’f£Þ‘˜a]qÜ,O° ^8­JÈÏ'<­›¼ŠÀ ÝÊ5zÂãá¡»<Þ£¸ºÊ¨ÐÒIÅciJæeçiÞ|;¹ÁK9lE“k+ŸñL‹S
,CX—š¶¶Xzç–XÏà{¹.M‘ãºÑ½o·’a±[g/¨-HVTŸáæYÀIÀ ŽwÓ§ipÜ”ÙàÍ7zÖ­EBnx5ÎçÃCydUéçàO³ßX
?¾XlÎââÂe¤‘©BiÃ8ÜlA>El^Ô“®}Úe¸8Z£Ö¤CÛ@çÜ ðÊè”´1éJ>̶j”s®N’ÎÚK1o‹Z>vÉœj›OwqÙ¡E
/¦T\*Ÿ£’KÜË^ß*°~®8 ΰŽÒ£UÍuÁ~§×pE~I{Là’×A\>Æäm« Pi/ç™»¬|£¬Îv+N/uZA™~œÍU)ŸˆDÚ£
2É6é§ ¿yÀËÁ”®N h+[¡¨[šð2ãÚy îÜÞy|é§F\Ñ‘åÌ^h««É×7¢ŽÔ\•Kw.dèÖ‹HÚ}vnÆšjv1‰Kãì1B¬
4¹ÁÝ«žh¾s)òŸ¨W½>ÕÑCÀkMHbŸ¦}<1=Ed,Œ_KœáØyÍrÓȺo»cÜR8iu¢8,½I^À–á= X)Ü=,O¤OcH¡)
5|<|•Ðl<¢ ZÙÒ9s–ö™|žl•ânk+´X<§¸uŒs©3RBÏý<ÆáˆpáT2Qr¨wãbst‹tϼ‰¶©À•Ž›”P­œÈ\uqW
6(ãwä Õè Ét?a—iBcÍ,ÓPãŽË¬º¨<Ä‹¶U2Cà}ϲ®J¹ÑÚTâIÔy¹Aéõt=ÔeN‹¹Ô·PÑ@À¬ÄÌ/M¦A]oa;W
72’qŸànPiš\Ý(6[fo«0tIx>¼.*<Ý? €\‰]aÑ åàwŒng~ÖÍ^‰òx/ ‘¶U(^ÏuÀoĵ¡LÌÕÚy ªÇ;wfå@Z
8³é¨Î~yÒ˧н,È]–Æ1à‚ʸ‘Ëow+VšV»@'<,jt±¿c›²fäwäAâÞZY‘´@‘Ìk9PC­ÝŒ‡k@Âi5¡¶w£D{-/Z
9çÙrlgVUß•÷DÔràéŽâÛŽ¥Ò–Bv¼~z»“€²0¦XÎ*@Êk–â¾Kˉ¨M1k¡ÊË©X¸É¤J¾l™Oc»¡^ku“ 0ä}—¾D/
:Äå¹[c=m{ÔË/ÚlÛ}^¥bX|F«t0ŠF5›ÐCdÍäm¥z4jÁ¢Äzzšð¹¨R¸Ø™ÙzTaœ•AÑ®°TÂ6™”±—ã£ÚÁ™ŸÎ£F
;¾'iÙQÛÇ~OèñÁ R.fF·² _iEn,ÉaÊ­Ì‘µuÙl·o¥D(×b·Ù§°W¤ÒÊß~§@ÊÝYžVµèˆEKÃÄÊw¥+ŠÚŒs¼Q
<IŒOÚ’ØXžwK;3¼ŸX‰­Ù¬ÌX«¹Ÿ¡P“A(¥HÍ8h^â{ÓÀŠZ¬¶x[½7WBodR·‹°Y§À/;}¸mrj’±VÕ ZkD¯u«
=yœU»œ–FÓŠ¢~ZÖpe)[ŒAA/¦5šÑ««Tšmsm=@™äyEÍ– Òb.äÍ-y¸ä{Lm;J’ƒ¹2 NpÚÇz»M~ÕqgSÊUŠÙa
>,cÂFŽêH(À.•ó—H°¬’Z¶çñ6;0pfãàD ¨LÛÁ£Ë1è颶pen¦_ŒÜƵ­-L±=P@whK£ÌÎpÝ=åεڔ¼\éa—]
AÎÑè®IáH0ww³×ÏËuÜJ:«µuDu»’hc–k´;^ÌåLÔ‘aràRM çÄ—^Œe]¦Qã¬ÐÏ{â ÒâÞIXÐ’Ÿ°ÓwÍœV+§CU
B5<Ø—cÁVZåÊçƸÛØÚºÞxär®]Ái‘Ò¾FM,Ô^ÜÛ©=ÇÑCa@*B•ÂŒ‡)Xß=À90Øj,ÖÝÅD—¶S^–½à›mÌEž\g»
C¯uŽœ¨jjnAÑ›Íe’TæèA¬´}znHª}ÝP»w.¨·_ŸÃÇŽ‡Fb¢¹=׳ãó+·”vܼKnѯ2>¼,G¬ÕdÖU~Ó¬´((ª§Á
Dé×<QY?Ÿ—¥h² L[¶P”p£r. ¾u¶O)JXä 8T¾± Ñ{ct¨k4n<Ý}<¬¾S~0/c¨‹‚7ÃU()Tqsd¹Ï™ˆNÊWØ L
Ej¡ævr^@¢«¨O¦8]¥ÁQ±jκ–™tÄ»@’¡Z³ÈDéIÙÆME—˜)i´auäžL*Ý<t”ÖÙ3sàŸ¦ÝŠFÛÜgØ@yLt¸gµ¼-
Fæé¿S04Y¿—koÁ¬ãÓfÆAÍâ•›¸Š×ÅI¯o\âsÑé” S/;«ä¿HŠç¢S¾¨Ñ ®¸œoc¬“G“Ú·ni²z²Mwè\uº?ÒËD
G:ŻݖµœÀàŠb@Av–‘Û ¼fѪQ+«9L¯KbhÇjesÐRAB˹®DœTHpâméß7ŠÚÊ^Ì™B~GæžÐ–¿w“îfjؽ]šN§
HA¿¶ØÂSÞ¡-¹1~I8œÃ)Ôž§²“ 5xQÊ鞬ߦ9ÂåҚ굦ªÊ*t²Ó9DS:tODt»CG®Ó—Ï6SUžkm¥ÑuèjŸ æ£
IEÇgÆ-åõSž jYÈ¿´å‘°mÈN/Éb豟ǩT³OºM¸'[¿ÑO›]­’OÆp/¥«38¥µ*ÌÄÍŸÀ²k]=Úeã‰5¯Š¥ËX@N
Kª¯æZc´@vp´šOXÖwzuIš•O¯ÀÌ6Äá·Ànãç2.ÖS5ZÄ«åÍÆÔËOà«ÐD›·Š™•^¹®4A]’Š´B|šéÈ1ÁÖÞ±¤Ó
L’åCyÊ”J;mGØØAZÝZçèq+¨Óu™—.:Ï×(OO|*´´‰öèîUn4FÖC: Ã)•®bÌ£èµ}ŽmܾƗB<á•Àß™ÅÐjª¸A
NlË»¹XÒÒ]AŒÑÂÜÉÄd8‰¯ÉY×»T6x,CY½¡O }Á~žö¬]@Ç3¼Ò‘´[µ³45È9Ûsº:kÌ’T ™Â›Ž7@ ¶''®SY
OP\ ÙWA¸,¥°3¬è´¨Ü V¬¹¢FCµ1Ø|bÎ8=Ø=-Bj¸Å· Z¨BªcbØŒWqœi]BãÂÀ,´OSe––oŸ–7BcbMo•MsJ
RŒ¯|X§À³ÂFßçä5½¡ŠïœfPå¦WbªÀٶߩf-Ï} ¼äsyQGdQBA/6žŸe-ÖB@CÇl]=sÅ×<9´šeA o¹ÛG0U,
TLBä¿Nsªši}³0–Àqažd¾’ÖÙ l<»ß,\wuŒ ž‚i©uÔ9QCgPfšW³@šf²Hr‰d®lÃfÕMt¸BÅÚ~*U ¡×§tÓÒ
UtéÍ›Paäg¡JÜo¿äzk ‡ OÄEv¡ÑSšçÚuÓ=9D¬¾ß·w¸ §‘¡;M¾•ÌkŽ”¿M›]*•Üçol¢’ ”Šèi0ß*Ŧ-¾
VË<à…V¦ÁÒß>e ôãxNtçˮ޻ x§ÌRn'fDbßN5ϾÎ×¾a>¼¯¦ÒŽÌ¸x~Ì'°|ß¹¦ÓNÇÀÍž :VЯÌJœ‹=¨›´
WwRÆj”eÃ(Cº~jL\š}ž…Ñ‹œÊÑ];°Ñ Ö4”K¾Ï¿™PÕA”pݽ9Ms_ÒQ¥éIÜU·½®ŒÞŠ»Û Ù_@(¦T<Ã/w”\—i
X’’é„ êtZe£½4¸Þp Íj6 Ç=lŒà;_9¶5@Çš{œ¹nŠ–2M¯ £ÙF óHAXÛK4ÉÊà’ÝŒ¸XÁŽƒ¡l›µÙÞ’Ós¯Ì¥
Yf' ‰©Öèß©iºØG>;mÒz»Ä92Ÿ@¡ž·9иƊf‘Šo™YkY_Y£¤‘´Tf¢k,˼PoÀR]›kmQy8ºÜÙ‰xjΖeäpã©
Z›Û;[yOu±o( ¶ŠÈ¢Î'6,’Ó¬á…ȶßv I;ÎËØ/4â»Ì+H<Ù¥¯ÇâéÂY,ÝJ@¨ å7ÈCc›¬Z—°|±©éÀºç’Œ®W
[bŽW´“£ãÙ37Pæ朜ڿ蜻žÐ‰€Ð*ZÑFÝÝÔ;NŠ¯yètܯÈä˜fT=(Ä>:‰o @:‘_@K¤J¢æƒÔ¿šÂCP ‡Rœ°Ô
\R:™Õ[qª¸Æ·4ÌBœ ;•’Í6'©4htŒæ£Ø¸ª)á c–ÉEÁѦª:IÍOž³Ž¦¼7g²ÃÒçxS¡¿'™â›ÇMæX'8,<GÜÛÌ
]šœC’ájªg/9(t’ã2·¬º°>‰Œ­AÌu-,(d{s¢‘KHÈ ÖŒ…2ŸÂãÈ ‰C;ÔÆ‘gš­Š¶vŸÓ;\sIÎl‰‡IÚyÓ©{U¨
^ŽÇC¤™©™‹ß×åË@]³¤ASTJ ÏÐI-Ââc:Ö@B@@Vž·’² @N@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\Ûh
--- 20180401.txz (188/188) ---



--
YAMAGUTIseisei ( str_h__namae = { :sei => "ŽRŒû" , :mei => "  ¯" } )
http://hello.to/seisei/ mailto:seisei@.68..net tel:081-70-5152-1104
heiwa furiisekkusu 1tu

YAMAGUTIseisei

unread,
May 20, 2018, 8:32:04 AM5/20/18
to
1198,1204c
rg.shift 'cop'
# rg.shift 'sym'
# sl.slp 0
sl.slp
.
1193,1196c
rg.shift 'sp'
# @sp = sp
@sp = rg['sp']
@irep = irep
.
1191c
# @pc = pc + 1
# rg['pc', -1] += 1
# rg.delete_at('pc', 1)
rg.shift 'pc'
rg['pc'] = rg['pc', 1]
@pc = rg['pc']
.
1172,1189c
# if fl.empty? # || ! ise.empty?
# rg['ctr', 1] -= 1 if 0 < rg['ctr', 1]
#
# if ise.empty?
#
# @flag[0] >>= 1
## @flag[0] >>= (1 - (thi <=> 0))
.
1169c
else
sl.slp
next
end # fl[0].empty?
.
1167a
# else
# printf("Unkown code %s \n", OPTABLE_SYM[get_opcode(cop)])
# printf("Unkown code %s \n", OPTABLE_SYM[imem.get_opcode(cop)])
.
1138,1166c
# @stack[@sp + a] = @stack[@sp + a].send(mid, *args)
@stack[a] = @stack[a].send(mid, *args)
end

# RETURN Raで呼び出し元のメソッドに戻る。Raが戻り値になる
when :RETURN
if @cp == 0 then
# return @stack[@sp + getarg_a(cop)]
# return @stack[sp + lpl.getarg_a(cop)]
# return @stack[imem.getarg_a(rg['cop'])]
break @stack[imem.getarg_a(rg['cop'])]
else
# @stack[@sp] = @stack[@sp + getarg_a(cop)]
# @stack[sp] = @stack[sp + lpl.getarg_a(cop)]
@stack[0] = @stack[imem.getarg_a(rg['cop'])]
@cp -= 1
# @irep = @callinfo[@cp]
irep = @callinfo[@cp]
# @irepid = @irep.id
@irepid = irep.id
@cp -= 1
# @pc = @callinfo[@cp]
# pc = @callinfo[@cp] # - 1
# rg['pc', -1] = @callinfo[@cp]
rg['pc', -1] = @callinfo[@cp] + 1 # bagu syuusei
@cp -= 1
# @sp = @callinfo[@cp]
# sp = @callinfo[@cp]
# rg['sp'] = @callinfo[@cp]
rg['sp', -1] = @callinfo[@cp]
.
1134,1135c
# next
else
args = []
n.times do |i|
# args.push @stack[@sp + a + i + 1]
args<< @stack[a + i + 1] # p
.
1126,1132c
# @pc = 0
rg['pc', -1] = 0
# @irep = newirep
irep = newirep
# @irepid = @irep.id
@irepid = irep.id
.
1119,1124c
# @sp += a
rg['sp', -1] = rg['sp'] + a
.
1115,1117c
# SEND Ra, mid, anumでRaをレシーバにしてシンボルmidの名前のメソッドを
# 呼び出す。ただし、引数はanum個あり、R(a+1), R(a+2)... R(a+anum)が引数
when :SEND
# a = getarg_a(cop)
# a = lpl.getarg_a(cop)
a = imem.getarg_a(rg['cop'])
# mid = @irep.syms[getarg_b(cop)]
# mid = irep.syms[lpl.getarg_b(cop)]
mid = irep.syms[imem.getarg_b(rg['cop'])]
# n = getarg_c(cop)
# n = lpl.getarg_c(cop)
n = imem.getarg_c(rg['cop'])
# newirep = Irep::get_irep(@stack[@sp + a], mid)
newirep = Irep::get_irep(@stack[a], mid)
if newirep then
# @callinfo[@cp] = @sp
# @cp += 1
# @callinfo[@cp] = @pc
# @cp += 1
# @callinfo[@cp] = @irep
# @cp += 1
# @callinfo[(@cp += 3) - 3, 3] = [@sp, @pc, @irep]
@callinfo[-3 + @cp += 3, 3] = [@sp, @pc, @irep]
.
1091,1113c
# メソッドの先頭で引数のセットアップする命令。面倒なので詳細は省略
when :ENTER
.
1067,1089c
# JMPNOT Ra, nでもしRaがnilかfalseならpcをnだけ増やす。ただし、nは符号付き
when :JMPNOT
# if !@stack[@sp + getarg_a(cop)] then
# if !@stack[sp + lpl.getarg_a(cop)] then
if !@stack[imem.getarg_a(rg['cop'])] then
# @pc = @pc + getarg_sbx(cop)
# pc = pc + lpl.getarg_sbx(cop) - 1
rg['pc', -1] = rg['pc'] + imem.getarg_sbx(rg['cop'])
# next
end
.
1065a
end
.
1064c
rg['pc', -1] = rg['pc'] + imem.getarg_sbx(rg['cop'])
.
1060,1061c
# JMP nでpcをnだけ増やす。ただし、nは符号付き
when :JMP
# @pc = @pc + getarg_sbx(cop)
# pc = pc + lpl.getarg_sbx(cop) - 1
rg['pc', -1] = rg['pc'] + imem.getarg_sbx(rg['cop'])
# next

when :JMPIF
# if @stack[@sp + getarg_a(cop)] then
# if @stack[sp + lpl.getarg_a(cop)] then
if @stack[imem.getarg_a(rg['cop'])] then
.
1057,1058c
# 何もしない
when :NOP
.
1054,1055c
case sym
# case rg.shift('sym')
# case rg['sym']
.
1052a
lpl.plini
# @flag[0] = 2
.
1050,1051c
# if fl.empty?
unless fl[0][0]
rg.push('pc', rg['pc'] + 1)
rg.push('sp', rg['sp'])
rg['ctr', 1] = rg['ctr', 1].abs
# while ! lpl.ctr_c do Slp.new.slp end
.
1045,1048c
if 0 <= rg['ctr', 1]
sym = rg.shift('sym')
# rg.push('pc', rg['pc'] + 1)
# rg.push('sp', rg['sp'])
rg['ctr', 1] *= -1 # kakezan
end
.
1037,1043c
# sym = rg.shift('sym')
.
1034d
1032c
rg.shift('sym')
.
1025,1029d
1014,1023c
# if ?J != rg['sym'].to_s[0] && ! [:ENTER, :SEND, :RETURN, :NOP].include?(rg['sym']) # q
# if rg['sym'] && ?J != rg['sym'][0] # higokan mruby 70410200 # q
if rg['sym'] && ?J != rg['sym'].to_s[0] && ! [:ENTER, :SEND, :RETURN, :NOP].include?(rg['sym']) # q
if 0 <= rg['ctr', 1] # && ! ise.empty?
# thi, th = iset(sym, cop, sp, pc, thi, th) ###
ise<< iset(rg) # p
# ise.reject! { |fis| [true][rg['thi'] = fis.resume]}
# fl<< fls(rg['pc']) # p
fl[0]<< fls(rg['pc']) # p
.
1010,1012c
# flg[0], pl = fls(pc, pl) if 0 == @flag[0] ###
# fl[0] && fl[0].resume && fl = (fl[1 .. -1] || [])
fl[0][0] && fl[0][0].resume && fl[0] = (fl[0][1 .. -1] || [])
.
1006,1008c
# ise.reject! { |fis| rg['thi'] = fis.resume; 0 == rg['thi']}
ise.reject! { |fis| fis.resume}
.
1002,1004c
# lpl.verb "#{rg['pc'].to_xeh} #{rg['sym']} #{rg['cop'].to_xeh}"
lpl.verb "#{rg['pc'].to_xeh} #{rg['sym']} #{rg['cop'].to_xeh}" if rg['sym']
.
998,999c
c, s = opf(irep, rg['pc']) #### if pco != pc
rg.push('cop', c)
rg.push('sym', s)
.
975,996c
if 0 <= rg['ctr', 1]
# sp = @sp
# @stack.sp(rg['sp'] = @sp) # + 0
@stack.sp(rg['sp']) # + 0
.
969,970c
# rg = Rg.new([['ctr', 0], ['thi', 0], ['pc', @sp], ['sp', @sp], ['cop'], ['sym']])
rg = Rg.new([['ctr', 1], ['pc', @sp], ['sp', @sp], ['cop'], ['sym']])
# pco = rg['pc']
.
966c
# fl = []
fl = [[], []]
.
963d
961c
# @flag[0] = 1
.
931c
# Fiber.yield(0 == thi) ##
Fiber.yield(0 > thi) ##
# rg = Fiber.yield(0 > thi) ##
# thi += 1
.
929c
# [thi, th] ###
.
924d
921a
# thi += 1
.
905,915c
# opa = opg.(thi) + [[k_sp, [sp]], []][thi <=> 0] # c
# pl.pl_es(pc1, opa)
pl.pl_es(pc1, opg.(thi) + [[k_sp, [sp]], []][thi <=> 0]) # c
.
889,890c
# fv = fvl[-1].(oi); fvl.delete_at(((1 <=> fvl.size) << 1) + 1) # c
fv = (fvl.delete_at(((1 <=> fvl.size) << 1) + 1) || fvl[0]).(oi) # c
.
887d
875d
857a
# pc1 = 0
.
855c
# def iset2 ##
pc, sp, cop, sym = rg.to_a('pc', 'sp', 'cop', 'sym')
# pc, sp, cop, sym = nil
.
853d
846,847c
@@slp.slp 0
.
842d
840d
838c
# Fiber.yield(false)
.
836a

.
831,835d
821,822d
817,819c
# lpl.verb "#{(pc - 1).to_xeh} #{sym} #{r[0].to_xeh} #{r[1].to_xeh}"
lpl.verb "#{pc.to_xeh} #{sym} #{r[0].to_xeh} #{r[1].to_xeh}"
.
814,815c
# ca[flg.inject(0) { |rv, v| rv = v ? 0 : 1 | rv << 1}].call
flg[0] && ca[flg[1] ? 0 : 1].call
.
804,808c
# sym, (r0, r1) = rslt pl # higokan mruby 70410200 # bce75e27 2211410200 matz
.
802a
# pl = lpl.pl_g(pc) ##
pl = lpl.pl_g(pc1) ##
sp ||= s.sp(pl[i_sp][0])
.
798,799c
pc1 = pc + 1
.
793c
# sz = 4; ap = (1 << sz) + sz + 1

# sz.step(wd - 2 + ap -= (ap + 2) >> 2) { |n| plr<< lm.(isr0, s[n])} # p c
# sz.step(wd - 1 + ap -= ((ap + 2) >> 2) + 1) { |n| plr<< lm.(isr0, s[n])} # p c
# sz.step(wd - 1 + ap -= (ap >> 2) + 1) { |n| plr<< lm.(isr0, s[n])} # p c
# sz.step(wd - 1 + ap -= ((ap + 2) >> 1) + 1 >> 1) { |n| plr<< lm.(isr0, s[n])} # p c
# sz.step(wd - 1 + ap -= (ap >> 1) >> 1) + 1) { |n| plr<< lm.(isr0, s[n])} # p c


.
787,790c
} # , # rs[1] = r0.to_xeh
# -> { # flg[-1]
# }, # rs[0] = r1.to_xeh
# -> {}
.
782,785c
# plr += lm.(isr0, s[sz .. sz - 1 + ap = ap - (ap >> 2) & 0x3f]) # c
plr += lm.(isr0, s[sz, -1 + ap -= (ap + 3) >> 2]) # c
.
777c
## ((sw = sp + sz) + 0xe).step(sw, -1) { # higokan mruby 70410200 # bbab89e7 5211410200 tmtm
# sz.step(sz - 1 + ap -= (ap + 3) >> 2) { |n| plr<< lm.(isr0, s[n])} # p c
.
765,766c
lm = ->(isr0, r1) {r1 && imem.send(pr, *isr0, r1)} # l
.
761,762c
# sz = 4; ap = 1 << sz
# sz -= 2; ap = ((ap << sz) + ap >> sz - 1) + 1 >> 1
sz = 1; ap = @@fls_m
.
758a

.
754d
749c
i_th = lpl.afl('th', ?i) # q
.
746a
pc1 = 0
.
745a
## pl = lpl.pl_g(pc) ### fls
## pl[i_th] = lpl.pl_eg(pc, 'th') ### fls

.
740a
@@fls_w = 4; (@@fls_m = 1 << @@fls_w) + @@fls_w + 1
@@fls_w -= 2
@@fls_m = ((@@fls_m << @@fls_w) + @@fls_m >> @@fls_w - 1) + 1 >> 1
@@fls_w = nil
.
735,736d
732c
r = pl[lpl.afl('th', ?i)] # q
.
707a
# @pl.nmrcf

.
702a
# @pla = Array.new($pcmax)
# $pltini.call()
@pl = ENVary.new

@rmt = wkth

.
684,691c
# @flag = []
.
659c
def to_a(*a)
.
653,655c
i ||= @a.assoc('ctr')[1].abs
# i ||= @a.assoc('ctr')[1] + 1
# @a.assoc(a[0])[@i] = a[1]
# @a.assoc(a.shift)[a[0] || @i] = v
.
646c
i ||= @a.assoc('ctr')[1].abs
# i ||= @a.assoc('ctr')[1] + 1
.
615d
611d
601d
590,596c
# a.empty? || @p = a[0]
@p = pt
# @p
.
581,582c
@p = sp; @s = s
# @p = sp; @m = m; @s = s
.
578a
# def initialize(sp = 0, s = @@s, m = @@m)
.
567a

# private
# def nmrcf
# @@nmrcf = Float == self.afl('Numeric')[0].class
# end
.
563d
561d
552d
547d
542d
540d
518,530c
(mx &&= thn.hgt) || mx = 1
# sl.slp(0, 4096)
# Fiber.yield([if f = ckth(th[mx], 3)
##### Fiber.yield([if f = (th[idx].nil?.! && ckth(th[mx], 3)) # fuguai taisaku
# f2 = idx >= mx && pl_es(pc, ['th', th])
# true
# end,
Fiber.yield([(f = #### (th[idx].nil?.! && # fuguai taisaku
ckth(th[mx], 3)) &&
f2 = idx >= mx && (pl_es(pc, ['th', th]); true),
sl.slp(0)
# ][0] && idx >= mx)
][0] && f2)
# (f =
# ckth(th[mx], 3)
##### th[idx].nil?.! && ckth(th[mx], 3) # fuguai taisaku
# ) && f2 = idx >= mx && pl_es(pc, ['th', th])
# sl.slp(0)
## Fiber.yield(f && idx >= mx)
# Fiber.yield(f && f2)
## f && idx -= (idx <=> mx) >> 1 ##
.
516c
# mx = thn.hgt
.
508d
488,489c
# return a[0] if 1 >= a.size
## return a.ijr { |v| v.inject(@@imem.mcall) || v[0]}
.
485,486c
# knid(a, :Array) ? __method__(a, pc) : a
case a when Array then __method__(a, pc) else a end
.
482a
([] == a || knid(a, :Array).! || 1 >= a.size) && (return a) # t
.
481c
# ([] == a || ! knid(a, :Array)) && (return a) # t
.
436d
431d
425d
417,423d
406,407d
392,394c
# self[n] = 0 == n ? (@@plmg ||= ->(pi, pv) {pi.map { |v| # l
# [v[0], pv.shift]}}).(pl_g(-1), pl) : pl # c
self[n] = 0 == n ? @@Plmg.(pl_g(-1), pl) : pl # c
# self[n] = 0 == n ? pl_g(-1).map { |v| [v[0], pl.shift]} : pl
.
388,390d
386c
# @@plmg = nil
@@Plmg = ->(pi, pv) {pi.map { |v| [v[0], pv.shift]}} # l
.
381a
# @@nmrcf ? pl.mapr { |v| v.to_i_from(Numeric)} : pl # furui mattn/mruby-json
.
379d
374d
370a
# if 0 == n && ! flg
.
368,369c
# if 1 > n then pl = pl[self.idx0(n)] end
.
364,366c
# pl = self[@@idx0.(n, 0)] # c
pl = self[0 > n ? ‾ n : n]
.
362a
# if 0 > n then flg = true; n = ‾ n end
.
361c
# sleep 0; GC.start; sleep 0
.
358c
# @@idx0 = nil
.
323,325c
ploc(n) { |a| (a = ENV[@@idb + a[0]]) &&
('[]' == (a[0] << a[-1]) && a = JSON::parse(a)); a}
# (('[]' == (a.rotate(-1)[0 .. 1]) && a = JSON::parse(a)); a} # higokan monami-ya.mrb:60510200 mruby:70410200
# knid(a, :Array) && JSON::parse(a)}
.
285,286c
# @@idx0 ||= ->(n = 0, t = 1) {n - ((n <=> t) >> 1)} # l
.
280,282d
271d
266c
# plini
.
261,262c
# 0.step(@@rmth + 1) { |i|
# (0 .. @@rmth + 1).each{ |i|
1.step(@@rmth + 1) { |i|
.
259c
plini

.
252d
210c
# a[0] = ?s + a[0].to_s
a[0] = ?s << a[0].to_s
.
208d
194d
93c
@@slp = 5 # conf.gem :github => 'matsumotory/mruby-sleep' # msleep usleep
.
82d
78d
33a

case v when Kernel.const_get(k) then true end.!.!
.
28,30c
## return v.kind_of?(Object.const_get k) # if 0.kind_of?(Numeric) # super
# return v.kind_of?(Kernel.const_get k) # if 0.kind_of?(Numeric) # super
## return v.kind_of?(k.constantize) # if 0.kind_of?(Numeric) # RoR # super
.



--
YAMAGUTIseisei ( str_h__namae = { :sei => "山口" , :mei => "青星" } )

YAMAGUTIseisei

unread,
Jul 1, 2018, 7:33:59 AM7/1/18
to
1134,1156c
if 0 <= rg['ctr', 1]
rg.shift 'pc'
# rg['pc'] = rg['pc', 1]
@pc = rg['pc']

rg.shift 'sp'
@sp = rg['sp']
@irep = irep

rg.shift 'cop'
rg.shift 'sym'
end
# ise.reject! { |fis| fis.resume} # higokan ? GC 70410200
.
1003,1131c
lpl.plini

jsc.call

# else
.
996,1001c
# unless fl[0][0]
unless fl.flatten[0]
# rg.push('pc', rg['pc'] + 1)
# rg.push('sp', rg['sp'])
rg['ctr', 1] = rg['ctr', 1].abs
# while ! lpl.ctr_c do Slp.new.slp end
.
993,994c
# ise.reject! {&:resume} # higokan ? monami-ya.mrb:60510200 mruby:70410200
# ise.reject! { |fis| fis.resume} # higokan ? GC 70410200
.
991a
rg.push('pc', rg['pc', -1] + 1)
rg.push('sp', rg['sp', -1])
end
.
988,990c
else
next if pcoj.call
# if 0 <= rg['ctr', 1]
# sym = rg.shift('sym')
pco = rg['pc'] if ?J == rg['sym'].to_s[0] # q
rg['ctr', 1] *= -1 # kakezan
.
986c
fl<< fls(rg['pc'] + 0) # p
# fl[0].push fls(rg['pc'])
# rg.push('pc', rg['pc', -1] + 1)
# rg.push('sp', rg['sp', -1])
# rg.shift('sym')
# end
.
983,984c
# ise<< iset(rg) # p
0 <= rg['pc', nil, '-'] && ise<< iset(rg) # p
next if pcoj.call

.
978,981c
# sp = @sp
@stack.sp(rg['sp']) # + 0

# c, s = opf(irep, rg['pc'])
c, sym = opf(irep, rg['pc'])
rg.push('cop', c)
rg.push('sym', sym)
# rg.push('sym', s)
# end

# lpl.verb "#{rg['pc'].to_xeh} #{rg['sym']} #{rg['cop'].to_xeh}" # if rg['sym']
lpl.verb "#{rg['pc'].to_xeh} #{rg['sym']} #{rg['cop'].to_xeh}" if rg['sym']

# rg['pc'] *= -1 if pco == rg['pc'] # kakezan

# if rg['sym'] && ?J != rg['sym'].to_s[0] && ! [:ENTER, :SEND, :RETURN, :NOP].include?(rg['sym']) # q
if ?J != rg['sym'].to_s[0] && ! [:ENTER, :SEND, :RETURN, :NOP].include?(rg['sym']) # q
# if ?J != sym.to_s[0] && ! [:ENTER, :SEND, :RETURN, :NOP].include?(sym) # q
# if 0 <= rg['ctr', 1]
.
975,976c
# fl[0][0] && fl[0][0].resume && fl[0] = (fl[0][1 .. -1] || [])
# fl.reject!.with_index { |v, n| v.resume(n)}
fl.reject_c!(1) { |v, n| v.resume(n)}

if 0 <= rg['ctr', 1] || pco
pco &&= nil
.
972a
# ise.reject_c!(1) { |fis, n| fis.resume}
# ise = reject_c_th(ise, 1) { |fis, n| fis.resume}
.
971d
968,969c
while true
# loop { # higokan ? monami-ya.mrb:60510200 mruby:70410200
# begin
.
966a
}
pco = nil
pcoj = -> { # l
if 0 > rg['ctr', 1]
rg.pop 'cop'
rg.pop 'sym'
# true
end # || false
}
.
963,965c
# メソッドの先頭で引数のセットアップする命令。面倒なので詳細は省略
when :ENTER

# SEND Ra, mid, anumでRaをレシーバにしてシンボルmidの名前のメソッドを
# 呼び出す。ただし、引数はanum個あり、R(a+1), R(a+2)... R(a+anum)が引数
when :SEND
# a = getarg_a(cop)
# a = lpl.getarg_a(cop)
a = imem.getarg_a(rg['cop'])
# mid = @irep.syms[getarg_b(cop)]
# mid = irep.syms[lpl.getarg_b(cop)]
mid = irep.syms[imem.getarg_b(rg['cop'])]
# n = getarg_c(cop)
# n = lpl.getarg_c(cop)
n = imem.getarg_c(rg['cop'])
# newirep = Irep::get_irep(@stack[@sp + a], mid)
newirep = Irep::get_irep(@stack[a], mid)
if newirep then
# @callinfo[@cp] = @sp
# @callinfo[@cp] = rg['sp']
# @cp += 1
# @callinfo[@cp] = @pc
# @callinfo[@cp] = rg['pc']
# @cp += 1
# @callinfo[@cp] = @irep
# @callinfo[@cp] = irep
# @cp += 1
# @callinfo[-3 + @cp += 3, 3] = [@sp, @pc, @irep]
@callinfo[-3 + @cp += 3, 3] = [rg['sp'], rg['pc'], irep]

# @sp += a
# rg['sp'] += a
rg['sp', -1] = rg['sp'] + a

# @pc = 0
rg['pc', -1] = 0
# @irep = newirep
irep = newirep
# @irepid = @irep.id
@irepid = irep.id

# next
else
args = []
n.times do |i|
# args.push @stack[@sp + a + i + 1]
args<< @stack[a + i + 1] # p
end

# @stack[@sp + a] = @stack[@sp + a].send(mid, *args)
@stack[a] = @stack[a].send(mid, *args)
end

# RETURN Raで呼び出し元のメソッドに戻る。Raが戻り値になる
when :RETURN
if @cp == 0 then
# return @stack[@sp + getarg_a(cop)]
# return @stack[sp + lpl.getarg_a(cop)]
return @stack[imem.getarg_a(rg['cop'])]
# break @stack[imem.getarg_a(rg['cop'])]
else
# @stack[@sp] = @stack[@sp + getarg_a(cop)]
# @stack[sp] = @stack[sp + lpl.getarg_a(cop)]
@stack[0] = @stack[imem.getarg_a(rg['cop'])]
@cp -= 1
# @irep = @callinfo[@cp]
irep = @callinfo[@cp]
# @irepid = @irep.id
@irepid = irep.id
@cp -= 1
# @pc = @callinfo[@cp]
# pc = @callinfo[@cp]
# rg['pc', -1] = @callinfo[@cp]
rg['pc', -1] = @callinfo[@cp] + 1 # bagu syuusei
@cp -= 1
# @sp = @callinfo[@cp]
# sp = @callinfo[@cp]
# rg['sp'] = @callinfo[@cp]
rg['sp', -1] = @callinfo[@cp]
end
# else
# printf("Unkown code %s ¥n", OPTABLE_SYM[get_opcode(cop)])
# printf("Unkown code %s ¥n", OPTABLE_SYM[imem.get_opcode(cop)])
.
958,961c
# JMPNOT Ra, nでもしRaがnilかfalseならpcをnだけ増やす。ただし、nは符号付き
when :JMPNOT
# if !@stack[@sp + getarg_a(cop)] then
# if !@stack[sp + lpl.getarg_a(cop)] then
if !@stack[imem.getarg_a(rg['cop'])] then
# @pc = @pc + getarg_sbx(cop)
# pc = pc + lpl.getarg_sbx(cop) - 1
rg['pc', -1] = rg['pc'] + imem.getarg_sbx(rg['cop'])
# next
end
.
955,956c
jsc = Proc.new {
# case sym
case rg['sym']

# 何もしない
when :NOP

# JMP nでpcをnだけ増やす。ただし、nは符号付き
when :JMP
# @pc = @pc + getarg_sbx(cop)
# pc = pc + lpl.getarg_sbx(cop) - 1
rg['pc', -1] = rg['pc'] + imem.getarg_sbx(rg['cop'])
# next

when :JMPIF
# if @stack[@sp + getarg_a(cop)] then
# if @stack[sp + lpl.getarg_a(cop)] then
if @stack[imem.getarg_a(rg['cop'])] then
# @pc = @pc + getarg_sbx(cop)
# pc = pc + lpl.getarg_sbx(cop) - 1
rg['pc', -1] = rg['pc'] + imem.getarg_sbx(rg['cop'])
# next
end
.
951,953c
rg = Rg.new([['ctr', 1], ['pc', @pc], ['sp', @sp], ['cop'], ['sym']])
.
949a
sym = nil
.
947,948c
fl = []
# fl = [[], []]
.
941c
# i_th = lpl.afl('th', ?i) # q
.
912,913c
# Fiber.yield(0 != thi && ht <= thi) ##
.
909,910d
901d
892,898c
# pl.pl_es(pc1, opg.(thi) + [[k_sp, [sp]], []][thi <=> 0]) # c
# pl.pl_es(pc1, opg.(thi) + [[k_sp, [sp], 'ctr', -pc1], []][thi <=> 0]) # c
pl.pl_es(pc1, opg.(thi) + [[k_sp, [sp], :ctr_s, pc1], []][thi <=> 0]) # c

# (0 != thi && ht <= thi) ? thi = 0 : thi += 1

# if 0 == thi
# pl.ctr_s(pc1)
# elsif ht <= thi
if 0 != thi && ht <= thi
.
885c
thi = 0 ##
.
875,877c
# when 'th'
# fv = (fvl.delete_at(((1 <=> fvl.size) << 1) + 1) || fvl[0]).(oi) # c
when 'th' then fv = fvl[-1].(oi); fvl = fvl[0 .. fvl.size - 2] # c
.
834c
# sl.slp 0
.
831c
# Fiber.yield(@@fls2.resume(pc))
m = Fiber.yield(@@fls2.resume(pc, m))
.
828a
# m = Fiber.yield(false)
.
827c
# Fiber.new {
Fiber.new { |m = 1|
.
824a
# sl = @@slp
.
817c
# Fiber.yield(! flg.include?(false)) ##
# pc = Fiber.yield(flg.all?) ##
# m = fy.(m, f) # c
pc, m = fy.(m, f, pc) # c
.
810,815c
unless f
pl = lpl.pl_g(pc1) ##
# sp ||= s.sp(pl[i_sp][0])

# sym, (r0, r1) = rslt pl # higokan mruby 70410200 # bce75e27 2211410200 matz
sym, r, flg = rslt(pl); r0, r1 = r

# unless flg.include?(true) then fy(m, f); redo end
# f = ! flg.include?(false)
f = flg.all?
end
if 0 == m
sp ||= s.sp(pl[i_sp][0])
r0, r1 = r
pr || (pr, sy = imem.fml('st', sym)[1 .. -1])

isr0 = [i, s, r0]
# flg[0] && ca[flg[1] ? 0 : 1].call
flg[0] && ca[flg[1] ? 0 : 1].(r) # c
end
# @@slp.slp 0
.
801,808d
799a
f = false # ; flg = [false, false]
.
793c
# Fiber.new { |pc| ##
# Fiber.new {
# Fiber.new { |m = 1|
Fiber.new { |pc, m = 1|
.
784,791c
# fy = ->(m, f) { @@slp.slp 0
fy = ->(m, f, pc) { @@slp.slp 0
lpl.verb "#{pc.to_xeh} #{sym} #{r[0].to_xeh} #{r[1].to_xeh}"
# Fiber.yield(0 == m && f)
Fiber.yield(f && 0 == m)
}
.
775,776c
# plr += lm.(isr0, s[sz, -1 + ap -= (ap + 3) >> 2]) # c
plr += lm.(isr0, s[sz .. sz + ap -= ap >> 2]) # c
.
768,770c
# -> { # flg[0]
->(r) { # flg[0]
# ((sw = sp + sz) + 0xe).step(sw, -1) { # higokan mruby 70410200 # bbab89e7 5211410200 tmtm
# sz.step(sz + ap -= ap >> 2) { |n| plr<< lm.(isr0, s[n])} # p c
.
761c
# -> { # flg[0] && flg[-1]
# -> { # f
->(r) { # f
.
753,755c
# sz = 1; ap = @@fls_m
sz = 4; ap = @@fls_w ||= (1 << sz) - 1 - 1
# sz = 4; @@fls_m || (ap = @@fls_w ||= (1 << sz) - 1 - 1; @@fls_w = nil)
sz -= 2; ap = @@fls_m ||= ((ap << sz) + ap >> sz - 1) + 1 >> 1
.
751a
f = false; flg = [false, false]
r = [] # nil # ; rs = [?-, ?-] # q 2
.
749c
# isr0, r0, r1, pr, sy = nil
isr0, r0, r1, pr, sy, sym = nil
.
745c
# s = Stack.new; sp = nil; plr = nil
pl = nil; s = Stack.new; sp = nil; plr = []
.
738c
pc = 0
pc1 = pc + 1
# pc1 = 0
.
725,728c
# @@fls_w = 4; @@fls_m = (1 << @@fls_w) - 1 - 1
# @@fls_w -= 2
# @@fls_m = ((@@fls_m << @@fls_w) + @@fls_m >> @@fls_w - 1) + 1 >> 1
# @@fls_w = nil
@@fls_w, @@fls_m = nil
.
718c
r = pl[lpl.afl('th', ?i)] # q
.
669d
640a
# v = -v if 'pc' == k && v == @a.assoc(k)[i] && knid(v, :Numeric)
'pc' == k && case v when Numeric then v == @a.assoc(k)[i] && v = -v end # cp
.
636,637c
# i ||= @a.assoc('ctr')[1].abs
i ||= @a.assoc('ctr')[1]
.
631c
# @a.assoc(k)[i]
v = @a.assoc(k)[i]
# v = v.abs if knid(v, :Numeric) # cp
v = v.abs if 'pc' == k && ?- != m # cp # q
v
.
626,629c
# def [](k, i = @i)
def [](k, i = nil, m = nil)
# i ||= @a.assoc('ctr')[1].abs
i ||= @a.assoc('ctr')[1]
.
617a
def pop(*a)
@a.assoc(a.shift).pop
end

.
595a
# a = @s[@p + a[0].sgp] = a[1]
.
547c
# fpl.reject! { |fb| fb.resume}
# fpl.reject! {&:resume} # higokan ? monami-ya.mrb:60510200 mruby:70410200
# fpl.reject_c!(1) { |fb, n| fb.resume}
fpl = reject_c_th(fpl, 1) { |fb, n| fb.resume}
.
498,521c
Fiber.yield([(f = #### th[idx].nil?.! && # fuguai taisaku
ckth(th[mx], 3)) && # ))) &&
(pl_es(pc, ['th', th]); true),
sl.slp(0)
][0] && idx >= mx)
f && idx -= (idx <=> mx) >> 1 ##
.
495a
mx = thn.hgt
# mx ||= thn.hgt
.
490c
f = nil # ; mx = nil
.
465c
(tb == a || knid(a, :Array).! || 1 >= a.size) && (return a)
.
463c
# ([] == a || knid(a, :Array).! || 1 >= a.size) && (return a) # t
.
461a
tb = TB
.
406a
aa.each_slice(2) { |k, v| send(k, v)}
.
404c
# 'ctr' == k && case v when Array then true end.! ? pl[i_k]<< v : pl[i_k] = v # p # higokan ? mruby 70410200
.
402d
400a
# 'ctr_s' == k && break(-v) # higokan ? mruby 70410200
# knid(k, :Symbol) && (aa.push(k, v); next)
# knid(k, :Symbol) && (aa.push(k, v); break)
case k when Symbol then aa.push(k, v); break end
.
395a
aa = []
.
357c
# sleep 0; GC.start; sleep 0 # g
.
353,354c
# @@Idx0 = ->(n = 0, t = 1) {n + (t > n ? 1 : 0)} # l
.
281c

# if 1 < self.size # self.size : 0 ?? # higokan ? mruby:70410200 monami-ya.mrb:60510200
if self[1]
# self.replace(self[0 .. self.size & ((n = @@rmth + 1) << 1) | n]) # ?? # higokan ? mruby:70410200 monami-ya.mrb:60510200
# self.slice!((self.size & ((n = @@rmth + 1) << 1) | n) + 1 .. -1) # higokan mruby:70410200 monami-ya.mrb:60510200
self[0 .. -1] = self[0 .. self.size & ((n = @@rmth + 1) << 1) | n]
end
.
277,278d
274c
# 3080410200 : 5x2 ok ( gc ) : monami-ya.mrb 8270410200 813e2af8 # www.monami-ya.jp
.
266d
260,261d
210,211c
# case a[4]
case a[@@I_s__r1 + 1]
# when Array then return a[4].map{ |v| v.nil? ? v : send(*a[0 .. 3], v)}
when Array
a[@@I_s__r1 + 1].map{ |v| v.nil? ? v : send(*a[0 .. @@I_s__r0 + 1], v)}
.
208d
136,137c
# @fml.(lb).assoc(sym) # c
@@fml.(lb).assoc(sym) # c
.
85a

def reject_c!(i = nil)
a = self
# unless i
# a.reject! { |v| yield v}
# else
# a.compact!
# a.each.with_index(0) { |v, n| break if n >= i
# v && yield(v, n) && a.delete_at(n)
# }

(i > n = a.size) && i = n
n = c = 0
while c < i
a[n] && yield(a[n], c) && a.delete_at(n) || n += 1
# (v = a[n]) && yield(v, c) && a.delete_at(n) || n += 1
c += 1
end
# end
self.replace a
end

def reject_c_th(a, i = nil)
# unless i
# a.reject! { |v| yield v}
# else
# a.compact!
# a.each.with_index(0) { |v, n| break if n >= i
# v && yield(v, n) && a.delete_at(n)
# }

(i > n = a.size) && i = n
n = c = 0
while c < i
a[n] && yield(a[n], c) && a.delete_at(n) || n += 1
# (v = a[n]) && yield(v, c) && a.delete_at(n) || n += 1
c += 1
end
# end
a
end
.
2a
TB = []

YAMAGUTIseisei

unread,
Sep 30, 2018, 8:20:09 AM9/30/18
to
Y1245a
# 0.step(@@rmth) { |n| # higokan ? touki
# fl.shift && redo if fl[n] && fl[n].resume(n) && 0 == n
# break if n >= ht ||= fl.hgt
# }
.
1240c
# stack.sp rg['sp']
stack.ps rg['sp']
@irep[0] = irep
.
1235d
1230d
1228a
# callinfo, irep, rg = @@jsc.(stack, callinfo, irep, rg, imem) # c
.
1221,1222c
# unless fl.flatten[0] && ! pco # wait
.
1219d
1216,1217c
# ist = Thread.new {
## ise.reject! { |fis| fis.resume} # higokan ? GC 70410200
# }
.
1207,1209c
# pco = rg['pc'] if ?J == rg['sym'].to_s[0] # q
(pco = rg['pc']; pctj<< pco + 1) if ?J == rg['sym'].to_s[0] # q
.
1197,1203c
fl<< fls(rg['pc']) # p
.
1194c
# ise<< iset(rg) if 0 <= rg['pc', nil, '-'] # p # cp
ise<< iset(rg) if 0 <= rg['pc', nil, '-'] && pctj.pop != rg['pc'] # p # cp
.
1190,1192d
1188d
1186c
lpl.verb "#{rg['pc'].to_xeh} #{rg['sym']} #{rg['cop'].to_xeh}" # if rg['sym']
.
1180,1184d
1172,1177c
# c , sym = opf(irep, rg['pc'])
c , sym = @@opf.(irep, rg['pc'], imem) # c
.
1165,1167d
1162,1163d
1147a

.
1146a

# [callinfo, irep, rg]
.
1145a
end
.
1143c
else
if ?J == rg['sym'].to_s[0] # q
jm.(cop, sym) # c
# else
.
1141c
# rg['sp', -1] = @callinfo[@cp]
rg['sp', -1] = callinfo[0]
.
1136,1137c
# rg['pc', -1] = @callinfo[@cp] + 1 # bagu syuusei
rg['pc', -1] = callinfo[0] + 1
# @cp -= 1
callinfo.pd
.
1132c
# @cp -= 1
callinfo.pd
.
1129c
# irep = @callinfo[@cp]
irep = callinfo[0]
.
1125,1127c
# @stack[rg['sp']] = @stack[rg['sp'] + imem.getarg_a(cop)]
stack[0] = stack[imem.getarg_a(cop)]
# @cp -= 1
callinfo.pd
.
1120,1121c
# return @stack[rg['sp'] + imem.getarg_a(cop)]
return stack[imem.getarg_a(cop)]
.
1118c
# if @cp == 0 then
if 0 == callinfo.pg
.
1113,1114c
# @stack[rg['sp'] + a] = @stack[rg['sp'] + a].send(mid, *args)
stack[a] = stack[a].send(mid, *args)
end
.
1109c
args<< stack[a + i + 1] # p
.
1090,1091c
# @callinfo[(@cp += 3) - 3, 3] = [rg['sp'], rg['pc'], irep]
callinfo[0 .. 2] = [rg['sp'], rg['pc'], irep]
callinfo.p += 3
.
1088a
# callinfo[0] = irep
.
1085a
# callinfo[0] = rg['pc']
.
1082a
# callinfo[0] = rg['sp']
.
1079c
# newirep = Irep::get_irep(@stack[rg['sp'] + a], mid)
newirep = Irep::get_irep(stack[a], mid)
.
1076,1077c
n = imem.getarg_c(cop)
.
1073,1074c
mid = irep.syms[imem.getarg_b(cop)]
.
1070,1071c
a = imem.getarg_a(cop)
.
1061a
end
}

# @@jsc = Proc.new { |stack, callinfo, irep, rg, imem|
jsc = Proc.new { # |stack, callinfo, irep, rg, imem|
cop, sym = rg['cop'], rg['sym']

case sym
# case rg['sym']

# 何もしない
# when :NOP

# # JMP nでpcをnだけ増やす。ただし、nは符号付き
# when :JMP
## @pc = @pc + getarg_sbx(cop)
## pc = pc + lpl.getarg_sbx(cop) - 1
# rg['pc', -1] = rg['pc'] + imem.getarg_sbx(cop)
## next

# when :JMPIF
## if @stack[@sp + getarg_a(cop)] then
## if @stack[rg['sp'] + imem.getarg_a(cop)]
# if stack[imem.getarg_a(cop)]
## @pc = @pc + getarg_sbx(cop)
## pc = pc + lpl.getarg_sbx(cop) - 1
# rg['pc', -1] = rg['pc'] + imem.getarg_sbx(cop)
## next
# end

# # JMPNOT Ra, nでもしRaがnilかfalseならpcをnだけ増やす。ただし、nは符号付き
# when :JMPNOT
## if !@stack[@sp + getarg_a(cop)] then
## if !@stack[rg['sp'] + imem.getarg_a(cop)]
# if !stack[imem.getarg_a(cop)]
## @pc = @pc + getarg_sbx(cop)
## pc = pc + lpl.getarg_sbx(cop) - 1
# rg['pc', -1] = rg['pc'] + imem.getarg_sbx(cop)
## next
# end
.
1059c
rg['pc', -1] = rg['pc'] + imem.getarg_sbx(cop)
.
1055,1056c
# if !@stack[rg['sp'] + imem.getarg_a(cop)]
if !stack[imem.getarg_a(cop)]
.
1048c
rg['pc', -1] = rg['pc'] + imem.getarg_sbx(cop)
.
1044,1045c
# if @stack[rg['sp'] + imem.getarg_a(cop)]
if stack[imem.getarg_a(cop)]
.
1039c
rg['pc', -1] = rg['pc'] + imem.getarg_sbx(cop)
.
1032,1033c
case sym
.
1028,1030c
jm = ->(cop, sym) { # l
.
1023a
pctj = []
.
1015,1018d
1011c
@irep[0] = irep
.
1009a
stack = Stack.new
# callinfo = Stack.new(0, 'c')
# callinfo = Pary.new []
callinfo = Stack.new(0, [])
.
1004c
# end
}
.
1001d
992,993c
@@iset2 = nil
def iset(rg)
# rgd = rg.dup
rgd = rg.to_a('pc', 'sp', 'cop', 'sym')
# sl = @@slp
@@iset2 ||= iset2

Fiber.new {
loop {
Fiber.yield(@@iset2.resume(rgd))
rgd &&= nil
# sl.slp 0
}
}
end

# def opf(irep, pc)
@@opf = ->(irep, pc, imem) { # l
# imem = @imem
.
987a
rg = Fiber.yield(0 > thi) ##
thi += 1
.
986c
# Fiber.yield(0 > thi) ##
.
979a
pl.pl_es(pc1, opg.(thi) + [[k_sp, [sp], :ctr_s, pc1], []][thi <=> 0]) # c

# if 0 != thi && ht <= thi
# thi = -1
# end
0 != thi && ht <= thi && thi = -1

.
973,977c
th = [] ##
# thi = 0
.
971c
fml = imem.fml('th', sym) || (
# printf("Unkown code %s ¥n", OPTABLE_SYM[imem.get_opcode(cop)])
pl.verb("Unkown code #{sym} ") # .to_s
# return nil
# raise
# rg = Fiber.yield(nil)
)
.
966,969c
# [1].cycle.with_index { |t, thi|
if rg
# pc, sp, cop, sym = rg.to_a('pc', 'sp', 'cop', 'sym')
pc, sp, cop, sym = rg
pc1 = pc + 1
.
962,963c
# Fiber.new { ##
Fiber.new { |rg|
loop { ##
.
951,952c
# fv = fvl[1][-1].(oi); fvl[1] = fvl[1][0 .. fvl.size - 2] # c
# when 'th' then fv = fvl.(oi) # c
when 'th' then fv = fvl[oi <=> 0].(oi) # c
.
949a
# when 'th' then fv = fvl[-1].(oi); fvl.delete_at(1) # c
.
938,940c
# fvl = [->(oi) {th += [[fv[oi] && imem.ta(fv[oi], cop)], []][ # l c
# (oi <=> ht = fv.hgt) + 1 >> 1]},
# ->(oi) {[fv[oi] = th[oi] = (imem.ta(fv[oi], cop)), []]}] # .lazy # l c
# fvl = ->(oi) {[ # l
# -> {[fv[oi] = th[oi] = (ta.(fv[oi])), []]}, # l c
# -> {th += [[fv[oi] && ta.(fv[oi])], []][ # l c
# ((ht = fv.hgt) <=> oi) >> 1]}][oi <=> 0].call # .lazy
# }
fvl = [->(oi) {[fv[oi] = th[oi] = (imem.ta(fv[oi], cop)), []]}, # l
->(oi) {th += [[fv[oi] && imem.ta(fv[oi], cop)], []][ # l
((ht = fv.hgt) <=> oi) >> 1]}] # .lazy
.
927,932c
fml = []
.
920,921c
# pc1 = pc + 1
pc1 = 0
.
914,918c
# def iset(rg) ##
def iset2 ##
# pc, sp, cop, sym = rg.to_a('pc', 'sp', 'cop', 'sym')
pc, sp, cop, sym = nil
.
883,886d
880d
875,877c
# sp ||= s.sp(pl[i_sp][0])
sp ||= s.ps(pl[i_sp][0])
# r0, r1 = r
# pr || (pr, sy = imem.fml('st', sym)[1 .. -1])
pr || (pr, sy, mt = imem.fml('st', sym)[1 .. -1])
.
870,872c
f = ! flg.include?(false)
# m = fy.(m, false)
.
865d
856,860c
# pc = ‾ pc
# pc1 = pc + 1
# sp = nil; plr = []
# pr = nil
# f = false # ; flg = [false, false]

pc = ini.(pc) # c
.
850,851d
846d
837,840c
} # rs[1] = r0.to_xeh
.
833,835c
# sz = plr.size
# plr += lm.(isr0, s[sz .. sz + ap -= ap >> 2]) # c
# plr += lm.(isr0, s[(sz = plr.size) .. sz + ap -= ap >> 2]) # c
plr +=
lm.(isr0, s[(sz = plr.size) .. sz + ap = (ap >>= 1) + (ap >> 1)]) # c
.
822,825c
# r = plr[r1] || lm.(isr0, r1) # c
# _ = r[1] <= sz && plr[r[1]] || lm.(isr0, r[1]) # c
_ = plr[r[1]] || lm.(isr0, r[1]) # c
# s[r1] = sy ? [s[r1], r].inject(sy) : r
s[r[1]] = sy ? [s[r[1]], _].inject(sy) : _
}, # rs = [r1.to_xeh, r0.to_xeh]},
.
817d
814c
# ini = ->(pc) { [pc = ‾ pc, (
ini = ->(pc) { (pc1 = [‾ pc, (
# pc1 = pc + 1
sp, pr = nil; plr = []
f = false # ; flg = [false, false]
# )][0]
)][0] + 1) - 1
}

# lm = ->(isr0, r1) {r1 && imem.send(pr, *isr0, r1)} # l
lm = ->(isr0, r1) {r1.nil? ? r1 : imem.send(pr, *isr0, r1, mt)} # l
.
810d
808d
806c
r = nil
.
804d
801,802c
# isr0, r0, r1, pr, sy, sym = nil
# isr0, r0, r1, pr, sy, sym, mt = nil
isr0, pr, sy, sym, mt = nil
.
796d
787,789c
# pc = 0
# pc1 = pc + 1
pc1 = 0
.
778,782c
# def fls(pc) ##
def fls2 ##
.
773,776d
740,741d
725,726c
# @cp = 0 # callinfoのポインタ
@irep = [nil] # 現在実行中の命令列オブジェクト
.
721,722c
# @stack = Stack.new # スタック(@spより上位をレジスタとして扱う)
# @callinfo = [] # メソッド呼び出しで呼び出し元の情報を格納
.
688d
639a
def pg() @p end
def pi() @p += 1 end
def pd() @p -= 1 end

# def sp(*a)
# def sp(pt)
def ps(i)
# id = self.object_id
# a.empty? || @p = a[0]
# @p = pt
@p = i
# @p
end

.
634a
# @s[@p + a[0].sgp] = a[1]
.
613,620c
# @s
.
610a
# s = @s
.
603a
attr_accessor :p
.
602c
# @@s = []
@@s = AryM.new
.
600a
##module M__Pary
## def initialize(*a)
## @a = a.shift
## @i = (a[-1] || 0)
## end
##
### def pg
### @i
### end
##
### def pg
### @i
### end
##
## def pg() @i end
## def ps(i = @i) @i = i end
## def pi() @i += 1 end
## def pd() @i -= 1 end
##
## def []=(i, v)
## @a[ipt(i)] = v
## end
##
## def [](i)
## @a[ipt(i)]
## end
##
### private
##
## def ipt(i)
## @i + ((i + i.abs) >> 1)
## end
##end
##
##class Pary
## include M__Pary
##end
#
## @@stack = Pary.new []
### @@stack = [['s', Pary.new([])], ['c', Pary.new([])]]

# module M__AryM # higokan ? mruby 70410200
class AryM < Array
def [](*a)
super
end

def []=(*a)
super
end
end

# class AryM < Array
# include M__AryM
# end

.
584d
582d
554c
sl.slp(0) # (0, 4096)
.
552c
ckth(th[mx], 3)) &&
.
550a
mx = thn.hgt
# mx ||= thn.hgt
.
547,548d
516c
# (tb == a || knid(a, :Array).! || 1 >= a.size) && (return a)
(tb == a || knid(a, :Array).! || 0 >= a.hgt) && (return a)
.
461a

# ctr = (cta = pl_g(0).afl('ctr', self)).shift
# pl_es(0, ['ctr', cta])
# ctr
.
451a
# i_k = loop {self.afl(k, ?i) && break} # q # fuguai taisaku
.
421d
411d
406d
404d
323,327c
# if self[1]
## self.replace(self[0 .. self.size & ((n = @@rmth + 1) << 1) | n]) # ?? # higokan ? mruby:70410200 monami-ya.mrb:60510200
## self.slice!((self.size & ((n = @@rmth + 1) << 1) | n) + 1 .. -1) # higokan mruby:70410200 monami-ya.mrb:60510200
# self[0 .. -1] = self[0 .. self.size & ((n = @@rmth + 1) << 1) | n]
# end

self[1] && self[0 .. -1] =
self[0 ... self.size & ((n = @@rmth + 1) << 1) | n]
.
316c
# 3080410200 : 5x2 ok ( gc ) : monami-ya.mrb 8270410200 813e2af8 # http://www.monami-ya.jp/
.
152a
# module M__Rou

# class Rou
# include RiteOpcodeUtil
# include M__Rou
# end

.
110c
# def reject_c_th(a, i = nil)
def reject_c_th(a, i)
.
89c
# def reject_c!(i = nil)
def reject_c!(i)

YAMAGUTIseisei

unread,
Dec 16, 2018, 4:26:33 AM12/16/18
to
1387c

# redo
# next
end # while true
.
1357d
1344,1345c
# (pco = rg['pc']; pctj<< pco + 1) if ?J == rg['sym'].to_s[0] # q
(pctj<< (pco = rg['pc']) + 1) if ?J == rg['sym'].to_s[0] # p # q
.
1335,1336d
1327,1328c
# c, sym = opf(irep, rg['pc'])
c, sym = @@opf.(irep, rg['pc'], imem) # c
.
1323c
# fl.reject_c!(1) { |v, n| v.resume(n)}
fl.delete_if__c(1) { |v, n| v.resume(n)}
.
1321c
# ise.reject! { |fis| fis.resume}
ise.delete_if(&:resume)
.
1312a
sl.slp 0
.
1286c
# rg['pc', -1] = @callinfo[@cp] + 1
.
1234d
1176c
when :NOP
sl.slp 0
.
1116,1117d
1095a
# def rou(*a)
@@rou = ->(*a) { # l
# (imem = @Imem).send(*a)
(imem = @@Imem).send(*a)
# end
}

.
1087,1093c
# Fiber.new {
# loop {
## Fiber.yield(@@iset2.resume(rgd))
# Fiber.yield(@@iset2.resume(rgd, 0))
# rgd &&= nil
## sl.slp 0
# }
# }

# fibi(@@iset2, rgd, 0) {|rgd| rgd &&= nil}
fibi(@@iset2 ||= iset2, rgd, 0) {|rgd| rgd &&= nil}
.
1085c
# @@iset2 ||= iset2
.
1083a
# rgd = rg.to_a('pc', 'sp', 'cop', 'sym').dup
.
1074c
# Fiber.yield(0 != thi && ht <= thi && thi = -1) ##
# rg = Fiber.yield(0 != thi && ht <= thi && thi = -1) ##
rg, m = Fiber.yield(0 != thi && ht <= thi && (thi = -1; true)) ##
# rg, m = Fiber.yield(0 != thi && ht <= thi) ##
# rg = Fiber.yield(0 > thi) ##
# rg, m = Fiber.yield(0 > thi) ##
.
1072d
1061,1064c
# 0 != thi && ht <= thi && thi = -1
.
1059c
# pl.pl_es(pc1, opg.(thi) + [[k_sp, [sp], :ctr_s, pc1], []][thi <=> 0]) # c
pl.pl_es(pc1, opg.(thi) + [oa, []][thi <=> 0]) # c
.
1055,1056c
# th = [] ##
# oa = [k_sp, [sp], :ctr_s, pc1]
.
1043,1053c
## pc, sp, cop, sym = rg.to_a('pc', 'sp', 'cop', 'sym')
# pc, sp, cop, sym = rg
## pc1 = pc + 1

# ini.call
ini.(rg) # c
.
1039d
1037c
# Fiber.new { |rg|
Fiber.new { |rg, m = 0|
.
1035c
# k_sp = pla.assoc('sp')[1]
# oa = []
.
1022,1024d
1014,1015c
# opg = ->(oi) { # l
# lopa = []
opg = ->(oi, lopa = []) { # l
.
1002,1004d
996c
# fml = []
k_sp = pla.assoc('sp')[1]
pc1, fml, oa, th = nil

# ini = ->{
ini = ->(rg) {
# pc, sp, cop, sym = rg.to_a('pc', 'sp', 'cop', 'sym')
pc, sp, cop, sym = rg
# pc1 = pc + 1
fml = imem.fml('th', sym) || (
# printf("Unkown code %s \n", OPTABLE_SYM[imem.get_opcode(cop)])
# printf("Unkown code %s \n", OPTABLE_SYM[rou(:get_opcode, cop)])
# printf("Unkown code %s \n", OPTABLE_SYM[@@rou.(:get_opcode, cop)]) # c
pl.verb("Unkown code #{sym} ") # .to_s
return nil
# raise
## rg = Fiber.yield(nil)
)

pc1 = pc + 1
oa = [k_sp, [sp], :ctr_s, pc1]
th = [] ##
}

.
989,990c
# pc = 0
# pc1 = pc + 1
# pc1 = 0
.
987a
# sp, cop, sym = nil
.
969,981c
# Fiber.new { |m = 1|
# m = Fiber.yield(false)
# loop {
# m = Fiber.yield(@@fls2.resume(pc, m))
## Fiber.yield(flg.resume(pc))
# 0 > pc && pc = ~ pc
## sl.slp 0
# }
# }

# fibi(@@fls2, pc, 1) {|pc| 0 > pc ? ~ pc : pc}
fibi(@@fls2 ||= fls2, pc, 1) {|pc| 0 > pc ? ~ pc : pc}
.
966,967c
## sl = @@slp
# @@fls2 ||= fls2
.
957d
955c
# flg[0] && ca[flg[1] ? 0 : 1].(r) # c
ca[flg[1] ? 0 : 1].(r) # c
.
950,951d
947,948c
# if 0 == m
if 0 == m && flg[0]
.
944,945c
# f = ! flg.include?(false)
f = flg.all?
# pc, m = fy.(m, false, pc) # c
.
935,936c
0 > pc && pc = ini.(pc) # c
.
928,933c
# if 0 > pc
# pc = ini.(pc) # c
# end
.
925d
919,920c
# fy = ->(m, f) { sl.slp 0
fy = ->(m, f, pc) { sl.slp 0
.
915c
# end
.
907,913c
# if 0 == s.size
# sl.slp 0
# else
0 == s.size ? sl.slp(0) : plr +=
.
903d
895,900c
# _ = plr[r[1]] || lm.(isr0, r[1]) # c
_ = (_ = plr[r[1]]).nil? ? lm.(isr0, r[1]) : _ # c
.
893d
889,890c
# lm = ->(isr0, r1) {r1.nil? ? r1 : imem.send(pr, *isr0, r1, mt)} # l
lm = ->(isr0, r1) {imem.send(pr, *isr0, r1, mt)} # l
.
884,886c
f = false
# )][0] + 1) - 1
)][0] - 1
.
880,881c
# ini = ->(pc) { (pc1 = [~ pc, (
ini = ->(pc) { [pc1 = ~ pc + 1, (
.
876,877c
sz = 4; ap = @@fls_w ||= (1 << sz) # - 1 - 1
# sz -= 2; ap = @@fls_m ||= ((ap << sz) + ap >> sz - 1) + 1 >> 1
ap = @@fls_m ||=
((ap += (ap <<= 1) + (ap <<= 2) + (ap << 2)) >> sz) + 1 >> 1
.
874c
# r = nil
.
869,870d
865,866c
# pl = nil; s = Stack.new; sp = nil; plr = []
# i = @irep
i = @irep; s = Stack.new
sp, pl, r = nil
plr = []
.
839a
def fibi(fb, p1, ctr = 0)
sl = @@slp
Fiber.new { |m = 1|
ctr.times {m = Fiber.yield(false)}
loop {
sl.slp 0
m = Fiber.yield(fb.resume(p1, m))
p1 = yield(p1)
# sl.slp 0
}
}
end

.
795c
# @Imem = Imem.new
@Imem = @@Imem
.
789a
@@Imem = Imem.new
.
787d
719c
# def size; @s.size end
def size; @s.length - @p end
.
714d
710d
702a
# [@s[a[0] + @p] = a[1], @@m.unlock][0]
.
697,699d
690,691d
684c
# [s, @@m.unlock][0]
.
670d
655a
@@f = ''

def initialize
# @f = '' # cannot set instance variable (ArgumentError)
end

.
613,653d
602,606d
596,598c
# fpl.reject!(&:resume)
# fpl = reject_c_th(fpl, 1) { |fb, n| fb.resume}
# fpl = reject_c!(1, fpl) { |fb, n| fb.resume}
fpl = delete_if__c(1, fpl) { |fb, n| fb.resume}
##### fpl.reject!.with_index { |fb, i| break if i > 0; fb.resume}
##### fpl.reject!.with_index { |fb, i| next if i > 0; fb.resume}
##### fpl.reject!.with_index { |fb, i| p i; fb.resume}
##### fpl.empty? || fpl[0].resume && fpl.shift
sl.slp
.
581c
# sl.slp
.
578c
# sl = @@slp
(sl = @@slp).slp
.
563,569c
# mx = thn.hgt
## mx ||= thn.hgt
# Fiber.yield([(f = #### th[idx].nil?.! && # fuguai taisaku
Fiber.yield((f = #### th[idx].nil?.! && # fuguai taisaku
# ckth(th[mx], 3)) &&
ckth(th[mx = thn.hgt], 3)) && (
# (pl_es(pc, ['th', th]); true),
# sl.slp(0) # (0, 4096)
pl_es(pc, ['th', th]); sl.slp(0) # (0, 4096)
# ][0] && idx >= mx)
true) && idx >= mx)

.
555c
f = nil; mx = nil
.
544,545c
# (imem = @@Imem).mcall(a, op) || op
# (imem = @@Imem).send(opc, op) || op
(imem = @@Imem).send(a, op) || op
.
529,530c
# (tb == a || knid(a, :Array).! || 0 >= a.hgt) && (return a)
(tb == a || case a when Array then 0 >= a.hgt end) && (return a)
.
513c
# print s
puts s
.
511c
# s <<= "\n"
.
472,474c
# ctr = (cta = pl_g(0).afl('ctr', self)).shift
# pl_es(0, ['ctr', cta])
# ctr
.
468a
# [(cta = pl_g(0).afl('ctr', self)).shift, pl_es(0, ['ctr', cta])][0]

.
465a
## pl_s(n, pl)
## pl
end

def ref_pl0i; @@pl0i = pl_g(-1) end
# def to_ia(n)
def to_ia(n, lpl = self)
if 0 == n
# self[n]
lpl[n]
else
# @@Plmg.(pl_g(-1), self[n]) # c
@@Plmg.(@@pl0i, lpl[n]) # c
end
.
464c
pl_s(n, pl) # @@m.unlock
.
462a
# pl[i_k] = 'ctr' == k && ! knid(v, :Array) ? pl[i_k] + [v] : v # p
pl[i_k] = 'ctr' == k && ! knid(v, :Array) ? pl[i_k]<< v : v # p
## pl[i_k].send(('ctr' == k && ! knid(v, :Array) ? '<<' : '='), v) # p
## pl[i_k].send(('ctr' == k && ! knid(v, :Array) ? '<<' : 'replace'), v) # p
# pl[i_k = self.afl(k, ?i)] += [v] # q # ?
# pl[i_k] = (pl[i_k]<< v).send('ctr' == k && knid(v, :Array).! ? 'itself' : 'pop') # p # .itself higokan monami-ya.mrb:60510200 mruby:70410200
# pl[i_k] = (pl[i_k]<< v)['ctr' == k && knid(v, :Array).! ? 0 .. -1 : -1] # p # ?
.
461c
# 'ctr' == k && knid(v, :Array).! ? pl[i_k]<< v : pl[i_k] = v # p
.
448c
# def pl_es(n = 0, ary)
def pl_es(n = 0, ary = nil, pl = nil)
.
440c
# self[n] = 0 == n ? (@@plmg ||= ->(pi, pv) {pi.map { |v| [v[0], pv.shift]}}
# ).(pl_g(-1), pl) : pl # c
# self[n] = 0 == n ? @@Plmg.(pl_g(-1), pl) : pl # c
self[n] = 0 == n ? @@Plmg.(@@pl0i, pl) : pl # c
# ).(@@pl0i, pl) : pl # c
.
430a
##p to_ia(n, pl)
##n >= 0 && p( Rg.new(to_ia(n)).to_ra)
##n >= 0 && ( rg = Rg.new(to_ia(n)); p(rg.to_ra('th')))
#n >= 0 && ( rg = Rg.new(to_ia(n)); p(rg['ctr']))
##n >= 0 && p( to_ia(n))
.
412c
# @@Pldv = ->(pl) {pl.map { |a| a[1]}} # l
@@Pldv = ->(pl, n = 1) {pl.map { |a| a[n]}} # l

.
398,407c
## t > n ? n + 1 : n ## n + (t > n ? 1 : 0)
## n + [false, true].index(t > n) ## n + (((t > n) && 1) || 0)
## n + (t > n && 1 || 0) # n - ((n <=> t) >> 1)
## n + ((t <=> n) & 1)[0] ## n + (((t <=> n) + 1) & 2)[1] # higokan mruby 70410200
## n + ((((t <=> n) + 1) & 2) >> 1) ## n + ((t <=> n) + 1 >> 1)
.
359d
355,356c
# [yield(a), f.close][0]
## [yield(a), @m.unlock][0]
[yield(a), ## flg &&
f.close][0]
# @m.unlock][0]
.
353c
end ## if flg
.
339a

ref_pl0i
.
332,336c
# self.replace(self[0 .. self.size & ((n = @@rmth + 1) << 1) | n]) # ?? # higokan ? mruby:70410200 monami-ya.mrb:60510200
# self.slice!((self.size & ((n = @@rmth + 1) << 1) | n) + 1 .. -1) # higokan mruby:70410200 monami-ya.mrb:60510200
.
328c
# self[0] = [['th', [[thini]]], ['sym', [6309]], ['ctr', []]]
self[0] = [[pl0i[0], [[thini]]], [pl0i[1], [6309]], [pl0i[2], []]]
.
325c
# 3080410200 : 5x2 ok ( gc ) : monami-ya.mrb 8270410200 813e2af8 # www.monami-ya.jp
.
321a
pl0i = ['th', 'sym', 'ctr']
.
315d
307c
# def initialize
def initialize(*a)
.
304a
@@pl0i = nil
.
295a
# @@fl += '/loc' # RISC OS ?

.
274a
case op[0] when Numeric then op.inject(:+) else self.__send__(*op) end
.
271,273c
# def mcall(*op)
# case op[0] when Numeric then op.inject(:+) else self.send(*op) end
def send(*op) # fuantei ? mruby 70410200
.
263d
261d
246c
# def ta(l, cop) [l.shift || :getarg_a, l.shift || cop][0 .. l[-1] || 1] end
def ta(l, cop) [l[0] || :getarg_a, l[1] || cop][0 .. l[2] || 1] end
.
189a
# (f = @@fml).(lb).assoc(sym) # c
.
141a
# t -= t <=> 1
.
138c
@@slp = (((@@slp = NSLP_ >> 2) + (@@slp >> 5)) >> 7) + 1 >> 1 # conf.gem :github => 'matsumotory/mruby-sleep' # msleep usleep
# @@slp = 5 # conf.gem :github => 'matsumotory/mruby-sleep' # msleep usleep
.
121,130c
# (i > n = a.size) && i = n
# n = c = 0
# while c < i
# a[n] && yield(a[n], c) && a.delete_at(n) || n += 1
## (v = a[n]) && yield(v, c) && a.delete_at(n) || n += 1
# c += 1
# end
## end
# a
# end
.
116,119d
114d
111,112c
## def reject_c_th(a, i = nil)
# def reject_c_th(a, i)
.
108c
# self.replace a
f ? self.replace(a) : a
.
105c
# c += 1
.
101,102c
# n = c = 0
n = 0; c = -1
# while c < i
while i > c += 1 # c += 1 < i # -e:1: non float value (TypeError) ( monami-ya.mrb:60510200 mruby:70410200 )
.
90,91c
# def reject_c!(i)
# def reject_c!(i, a = self) # higokan ? mruby-thread:410200 monami-ya.mrb:60510200 mruby:70410200
def delete_if__c(i, a = nil)
# a = self
# f = (a == self) # higokan ? mruby-thread:410200 monami-ya.mrb:60510200 mruby:70410200
f = ! a
a ||= self
.
54,56c
# def sgp; self + self.abs >> 1 end
.
7a
TB = []

.
4a
NSLP_ = 6309 # nanosleep()
.
3c
((((((((([
:Array, :Numeric, :Fixnum, # :Float, :Bignum,
:Symbol, :String, # :Object,
:getarg_a, :getarg_b, :getarg_sbx, :getarg_bx,
:mk_opcode, :getarg_c,
:MOVE, :LOADL, :LOADI, :LOADSYM, :LOADSELF, :LOADT,
:ADD, :ADDI, :SUB, :SUBI, :MUL, :DIV, :EQ,
:JMP, :JMPIF, :JMPNOT, :RETURN, :SEND, :ENTER, :NOP,
:+, :-, :*, :/,
:__sr0, :__r0, :__sr01, :__r1_eq_sr01, :__i__r0,
:pool, :syms,

:ctr_s, :p
])))))))))

YAMAGUTIseisei

unread,
Feb 10, 2019, 8:27:54 AM2/10/19
to
1428,1429c
# stack.ps rg['sp']
stack.p = rg['sp']
.
1415c
# lpl.plini
plini(@@rmth, lpl) # 310200plini ?
# lpl.plini(@@rmth) # 410200plini
.
1413c
# rg['ctr', 1] = rg['ctr', 1].absb
# rg['ctr', 1] = absb(rg['ctr', 1])

# unless lpl.ctr_c {Slp.new.slp}
.
1411c
# unless fl.flatten[0]
if fl.empty? # && ! pco # d~ng
.
1399d
1392c
# ise<< iset(rg) if 0 <= rg['pc', nil, '-'] && pctj.pop != rg['pc'] # p # cp
ise<< iset(rg) if 0 <= rg['pc', nil, ?-] && pctj.pop != rg['pc'] # p # q # cp
.
1379d
1376,1377c
# ise.delete_if(&:resume)
ise.delete_if__c(1) { |fis, n| fis.resume}
.
1343c
# callinfo.pd
callinfo.p -= 1
.
1340c
# rg['pc', -1] = @callinfo[@cp] + 1
.
1336c
# callinfo.pd
callinfo.p -= 1
.
1329c
# callinfo.pd
callinfo.p -= 1
.
1319c
# if 0 == callinfo.pg
if 0 == callinfo.p
.
1233,1260d
1141,1142c
# fibi(@@iset2 ||= iset2, rgd, 0) {|rgd| rgd &&= nil}
fibi(@@iset2 ||= iset2, rgd) {rgd &&= nil}
.
1130,1139d
1128d
1116d
1108,1113d
1104,1105d
1101d
1089,1099c
# if rg
# ini.(rg) # c
# end
rg && ini.(rg) # c
.
1081,1082d
1070,1074c
# case k
# when 'th' then fv = fvl[oi <=> 0].(oi) # c
# end
# lopa.push(k, fv)
lopa.push(k, 'th' == k ? fvl[oi <=> 0].(oi) : fv) # c
.
1062,1065c
# opg = ->(oi, lopa = []) { # l
# i = -1
opg = ->(oi, lopa = []) { i = -1 # l
.
1053,1057d
1050c
# th = [] ##
.
1048c
bt = imem.fml('th', 'bt') # [1 .. -1]
.
1041c
))
.
1033c
# fml = imem.fml('th', sym) || (
fml = [sym] + (imem.fml('th', sym) || (
.
1030,1031c
pc, sp, cop, sym = rg # .to_a('pc', 'sp', 'cop', 'sym')
.
1028d
1026c
# pc1, fml, oa, th = nil
pc1, fml, oa, th, cop = nil
.
1012,1018c
# pc, sp, cop, sym = nil

.
1006,1007c
# fibi(@@fls2 ||= fls2, pc) {|pc| 0 > pc ? ~ pc : pc}
fibi(@@fls2 ||= fls2, pc, 1) {0 > pc ? ~ pc : pc}
.
994,1004d
982d
978,979c
# sp ||= s.ps(pl[i_sp][0])
sp ||= s.p = pl[i_sp][0]
pr || (pr, sy, mt = imem.fml('st', sym)) #[1 .. -1])
.
976d
972,973c
f = flg.all? # && r.all? { |f| case f when Numeric then true end}
.
960,962d
952d
947,948c
# lm.(isr0, s[(sz = plr.size) .. sz + ap = (ap >>= 1) + (ap >> 1)]) # c
lm.(isr0, s[(sz = plr.size) .. sz + ap = (ap += ap >> 1) >> 1]) # c
.
943,945d
936,938c
# r[0] = plr[r[1]] || lm.(isr0, r[1]) # c # r[0] ??
# _ = (_ = plr[r[1]]).nil? ? lm.(isr0, r[1]) : _ # c
pc1 = (pc1 = plr[r[1]]).nil? ? lm.(isr0, r[1]) : pc1 # c
# s[r[1]] = sy ? [s[r[1]], _].inject(sy) : _
s[r[1]] = sy ? [s[r[1]], pc1].inject(sy) : pc1
.
927,928c
# )][0] - 1
(pc1 = ~ pc + 1) - 1
.
922,924c
# ini = ->(pc) { [pc1 = ~ pc + 1, (
ini = ->(pc) {
.
916,918c
# sz = 4; ap = @@fls_w ||= (1 << sz)
ap = 1 << sz = 4; ap = @@fls_m ||=
.
914d
904,905d
888c
# @@fls_w, @@fls_m = nil
@@fls_m = nil
.
874d
868,869c
# Fiber.new { |m = 1|
# ctr.times {m = Fiber.yield(false)}
Fiber.new { |m = 1| ctr.times {m = Fiber.yield(false)}
.
856a

# include M__PlIni # 310200plini ? # ok ? ( osx10.4/ppc 1koa ) # omoi ? ( osx10.4/ppc 2koa )

# module M__PlIni # osx/ppc http://master.dl.sourceforge.net/project/hpc/OldFiles/gcc-bin.tar.gz#4p3__3.400 #gcc-tiger-bin.tar.gz#4p1__1.400 # cctools-590.36.dmg
# def plini
def plini(rmth = nil, pl = self)
thini = false
pl0i = ['th', 'sym', 'ctr']

# 3080410200 : gene gc off : mruby 6170410200 d17506c1
# 3080410200 : 5x2 ng ( segmentation fault ) : mruby 3080410200 0878900f
# 3080410200 : 5x2 ok ( gc ) : monami-ya.mrb 8270410200 813e2af8 # http://www.monami-ya.jp/
# mruby 20410200 : higokan ? : ary_many
# mruby 70410200 : 4x2 ok , 5x2 ng
# self[0] = [['th', [[thini]]], ['sym', [6309]], ['ctr', []]]
# self[0] = [[pl0i[0], [[thini]]], [pl0i[1], [6309]], [pl0i[2], []]]
pl[0] = [[pl0i[0], [[thini]]], [pl0i[1], [6309]], [pl0i[2], []]]
# pl[0] = [[[thini]], [68000], []].map.with_index { |v, i| [pl0i[i], v]}


# if 1 < self.size # self.size : 0 ?? # higokan ? mruby:70410200 monami-ya.mrb:60510200
# self.replace(self[0 .. self.size & ((n = @@rmth + 1) << 1) | n]) # ?? # higokan ? mruby:70410200 monami-ya.mrb:60510200
# self.slice!((self.size & ((n = @@rmth + 1) << 1) | n) + 1 .. -1) # higokan mruby:70410200 monami-ya.mrb:60510200

# self[1] && self[0 .. -1] =
# self[0 ... self.size & ((n = @@rmth + 1) << 1) | n]
pl[1] && pl[0 .. -1] = pl[0 .. pl.hgt & ((n = rmth + 1) << 1) | n]

# ref_pl0i
pl.ref_pl0i
end
# end


.
835c
# @pl = ENVary.new
# @pl = ENVary.new(true) # 410200plini
plini(@@rmth, @pl = ENVary.new(true)) # 310200plini ?
.
743d
731,741c
# def pg() @p end
# def pi() @p += 1 end
# def pd() @p -= 1 end

# def ps(i)
## id = self.object_id
## a.empty? || @p = a[0]
# @p = i
## @p
# end
.
711d
703c
# attr_accessor :p
attr_accessor :p, :s
.
681c
# @@f = ''
@@f = 0x0.chr * 0x20
.
662,663d
642,643c
sl = @@slp
# (sl = @@slp).slp
.
628,632c
# pl_es(pc, ['th', th]); sl.slp(0) # (0, 4096)
pl_es(pc, ['th', th]); sl.slp 0 # (0, 4096)
# true) && idx >= mx)
f) && idx >= mx)
.
626d
619,624c
th[idx] = s_id(th[idx], pc - 1) #### if ckth(th[idx], 0) # fuguai taisaku
.
614c
# f = nil; mx = nil
f, mx = nil
.
603d
591,592c
# knid(a, :Array) ? __method__(a, pc) : a # s_id(a, pc) : # 310200plini ?
case a when Array then __method__(a, pc) else a end # s_id(a, pc) else # 310200plini ?
.
587,588c
# (tb == a || knid(a, :Array).! || 0 >= a.hgt) && (return a)
# (tb == a || case a when Array then 0 >= a.hgt end) && (return a)
((tb = TB) == a || case a when Array then 0 >= a.hgt end) && (return a)
.
585d
583c
# tb = TB
.
570d
568d
526,531c
c = pl_g(0).afl('ctr', self)
[c.shift, pl_es(0, ['ctr', c])][0]
.
524c
# cta = pl_g(0).afl('ctr', self)
# [cta.shift, pl_es(0, ['ctr', cta])][0]
.
514,520c
# if 0 == n
# lpl[n]
# else
# @@Plmg.(@@pl0i, lpl[n]) # c
# end
lpl = lpl[n]; 0 == n ? lpl : @@Plmg.(@@pl0i, lpl) # c
.
512d
481d
470,471d
467,468d
455c
##p to_ia(n, pl)
.
434d
380,381d
364,365d
361,362c
# include M__PlIni # 410200plini # ok ? ( osx10.4/ppc 1koa )
.
344,359d
336c
a || return

# plini
# plini(@@rmth) # 410200plini
.
331,332c
# def initialize(*a)
def initialize(a = nil)
.
303a

# module M__PlIni # Omoi ?


.
294,295c
# case op[0] when Numeric then op.inject(:+) else self.__send__(*op) end
case op[0] when Numeric then op.inject(:+) else __send__(*op) end
.
285c
# a[@@I_s__r1 + 1].map{ |v| v.nil? ? v : send(*a[0 .. @@I_s__r0 + 1], v)}
return a[i_s__r1].map{ |v| v.nil? ? v : send(*a[0 .. @@I_s__r0 + 1], v)}
.
283c
# case a[@@I_s__r1 + 1]
case a[i_s__r1 = @@I_s__r1 + 1]
.
271,279c
# def s__sr0( *a) a[@@I_s__s][ a[@@I_s__r0]] end
# def s__r0( *a) a[@@I_s__r0] end
# def s__sr01( *a) a[@@I_s__s][ a[@@I_s__r0] + 1] end
# def s__i_pool_r0( *a) a[@@I_s__i].pool[a[@@I_s__r0]] end
# def s__i_syms_r0( *a) a[@@I_s__i].syms[a[@@I_s__r0]] end
# def s__r1_eq_sr01(*a) a[@@I_s__s][ a[@@I_s__r1]] == a[@@I_s__s][a[@@I_s__r0] + 1] end

def s__sr0( *a) a[@@I_s__s][ a[@@I_s__r0]] end
def s__r0( *a) a[@@I_s__r0] end
def s__sr01( *a) a[@@I_s__s][ a[@@I_s__r0] + 1] end
# def s__i_pool_r0( *a) a[@@I_s__i].pool[ a[@@I_s__r0]] end
# def s__i_syms_r0( *a) a[@@I_s__i].syms[ a[@@I_s__r0]] end
def s__i__r0( *a) a[@@I_s__i].send(a[@@I_s__mt])[a[@@I_s__r0]] end
def s__r1_eq_sr01(*a) a[@@I_s__s][ a[@@I_s__r1]] ==
a[@@I_s__s][ a[@@I_s__r0] + 1] end
.
267,269c
# @@I_s__i = 0; @@I_s__s = 1; @@I_s__r0 = 2; @@I_s__r1 = 3
@@I_s__i = 0; @@I_s__s = 1; @@I_s__r0 = 2; @@I_s__r1 = 3; @@I_s__mt = 4
.
212a
def ta(l, cop) [l[0] || :getarg_a, l[1] || cop][0 .. l[2] || 1] end

.
208,210c
# @@fml.(lb).assoc(sym) # c
## (f = @@fml).(lb).assoc(sym) # c
@@fml.(lb).assoc(sym)[1 .. -1] # c
# (f = @@fml).(lb).assoc(sym)[1 .. -1] # c
.
185,186c
# [:MOVE, :__sr0], [:LOADL, :__i_pool_r0],
# [:LOADI, :__r0 ], [:LOADSYM, :__i_syms_r0],
[:MOVE, :__sr0], [:LOADL, :__i__r0, nil, :pool],
[:LOADI, :__r0 ], [:LOADSYM, :__i__r0, nil, :syms],
.
156,157c
@@slp = (((@@slp = NSL_ >> 2) + (@@slp >> 5)) >> 7) + 1 >> 1 # conf.gem :github => 'matsumotory/mruby-sleep' # msleep usleep
.
133,148d
110,130c
# f = ! a
# a ||= self
(f = ! a) && a = self
# unless i then a.delete_if(&:yield) else a.each_with_index { |v, n|
# break if n >= i; v && yield(v, n) && a.delete_at(n)} end

(i > n = a.size) && i = n
# n = 0; c = -1
c = (n = 0) - 1
while i > c += 1 # c += 1 < i # -e:1: non float value (TypeError) ( monami-ya.mrb:60510200 mruby:70410200 )
a[n] && yield(a[n], c) && a.delete_at(n) || n += 1
# (v = a[n]) && yield(v, c) && a.delete_at(n) || n += 1
end
.
108d
105d
71c
# def absb
# def absb(i)
## self + (((0 <=> self) + 1 >> 1 << 0x10) - 1 & self << 1)
# i + (((0 <=> i) + 1 >> 1 << 0x10) - 1 & i << 1)
# end
.
19c
NSL_ = 6309 # nanosleep()
.
15c
# :ctr_s, :p
:ctr_s, :p, :s

YAMAGUTIseisei

unread,
Mar 17, 2019, 5:57:48 AM3/17/19
to
1335d
1318c
# Slp.new.slp unless lpl.ctr_c
.
1312d
1301c
# (pctj<< (pco = rg['pc']) + 1) if ?J == rg['sym'].to_s[0] # p # q
(pctj<< 1 + pco = pc) if ?J == sym.to_s[0] # p # q
.
1297c
# fl<< fls(rg['pc']) # p
fl<< fls(pc) # p
.
1292,1294c
# if ?J != rg['sym'].to_s[0] && ! [:ENTER, :SEND, :RETURN, :NOP].include?(rg['sym']) # q
if ?J != sym.to_s[0] && ! [:ENTER, :SEND, :RETURN, :NOP].include?(sym) # q
ise<< iset(rg) if 0 <= rg['pc', nil, ?-] && pctj.pop != pc # p # q # cp
.
1290c
# lpl.verb "#{rg['pc'].to_xeh} #{rg['sym']} #{rg['cop'].to_xeh}" # if rg['sym']
lpl.verb "#{pc.to_xeh} #{sym} #{rg['cop'].to_xeh}" # if sym
.
1286c
# c, sym = @@opf.(irep, rg['pc'], imem) # c
c, sym = @@opf.(irep, pc = rg['pc'], imem) # c
.
1281c
# fl.delete_if__c(1) { |v, n| v.resume(n)}
fl.delif_c(1) { |v, n| v.resume(n)}
.
1278,1279c
# ise.delete_if__c(1) { |fis, n| fis.resume}
ise.delif_c(1) { |fis, n| fis.resume}
.
1244d
1240d
1236d
1228d
1217d
1153d
1141d
1130d
1090c
# end
.
1078c
# def opf(irep, pc)
.
1067,1068c
# fibi(@@iset2 ||= iset2, rgd) {rgd &&= nil}
# fibi(@@iset2 ||= iset2, rgd) {rgd && nil}
fibi(@@iset2 ||= iset2, rgd) {nil}
.
1065d
1051a
# [thi, th] ###
.
1047a
rg && ini.(rg) # c
.
1043,1046d
1031c
# end
.
1023,1029c
# bt[oi].each_slice(2) { |k, v|
# fv = fml[i += 1]
bt[oi].each_slice(2) { |k, v| fv = fml[i += 1]
# if v # && knid(fv, :Array)
v && # knid(fv, :Array) &&
.
1019,1020d
1010,1012c
bt = imem.fml('th', 'bt')
.
996,999c
## printf("Unkown code %s \n", OPTABLE_SYM[imem.get_opcode(cop)])
## printf("Unkown code %s \n", OPTABLE_SYM[rou(:get_opcode, cop)])
## printf("Unkown code %s \n", OPTABLE_SYM[@@rou.(:get_opcode, cop)]) # c
# pl.verb("Unkown code #{sym} ") # .to_s
.
993,994d
988d
986d
979,980d
973,974c
# fibi(@@fls2 ||= fls2, pc, 1) {0 > pc ? ~ pc : pc}
fibi(@@fls2 ||= fls2, ~ pc, 1) {0 > pc ? ~ pc : pc}
.
970c
# pc = ~ pc
.
958c
pr || (pr, sy, mt = imem.fml('st', sym))
.
956d
952c
f = flg.all? # && r.all? { |f| # case f when Numeric then true end}
# case f when Numeric then true else lpl.verb(f); false end}
.
941a
# ca = ca.force #? mruby 410200
.
934c
# ]
] # .lazy #? mruby 410200
.
930,932c
# 0 == s.size ? sl.slp(0) : plr +=
0 == s.size ? sl.slp(0) :
# [sl.slp(0),
# plr +=
# lm.(isr0, s[(sz = plr.size) .. sz + ap = (ap += ap >> 1) >> 1]) # c
plr += lm.(s[(sz = plr.size) .. # c
sz + (ap = (ap += ap >> 1) >> 1) + (ap <=> 0)])
# ].lazy.to_a[s.s.size <=> 0] # .force
.
922,924c
# pc1 = (pc1 = plr[r[1]]).nil? ? lm.(isr0, r[1]) : pc1 # c
pc1 = (pc1 = plr[r[1]]).nil? ? lm.(r[1]) : pc1 # c
.
916,917c
## lm = ->(isr0, r1) {r1.nil? ? r1 : imem.send(pr, *isr0, r1, mt)} # l
# lm = ->(r1) {r1.nil? ? r1 : imem.send(pr, *isr0, r1, mt)} # l
# lm = ->(isr0, r1) {imem.send(pr, *isr0, r1, mt)} # l
lm = ->(r1) {imem.send(pr, *isr0, r1, mt)} # l
.
912d
908d
903,904c
# ap = 1 << sz = 4; ap = @@fls_m ||=
ap = 1 << sz = 3; ap = @@fls_m ||=
.
901c
# f = false; flg = [false, false]
flg = [f = false, f]
.
860,861c
# loop {
# sl.slp 0
loop { sl.slp 0
.
857,858d
840d
836,838c
# pl[1] && pl[0 .. -1] = pl[0 .. pl.hgt & ((n = rmth + 1) << 1) | n]
0 < pl.hgt && pl[0 .. -1] =
pl[0 .. pl.hgt & ((thini = rmth + 1) << 1) | thini]
.
826,828c
# pl[0] = [[pl0i[0], [[thini]]], [pl0i[1], [6309]], [pl0i[2], []]]
pl[0] = [[pl0i[0], [[thini]]], [pl0i[1], [NSL_]], [pl0i[2], []]]
.
823c
# 3080410200 : 5x2 ok ( gc ) : monami-ya.mrb 8270410200 813e2af8 # www.monami-ya.jp
.
816d
790c
plini(@@rmth, @pl = ENVary.new(true)) # 310200plini
.
788d
690,696d
681d
667d
658d
635,636c
# @@f = 0x0.chr * 0x20
@@f = [0x0.chr * 0x20] * 0x4
.
618c
# fpl = delete_if__c(1, fpl) { |fb, n| fb.resume}
fpl = delif_c(1, fpl) { |fb, n| fb.resume}
.
602,603d
599d
583,588c
# Fiber.yield((f = #### th[idx].nil?.! && # fuguai taisaku
Fiber.yield(((f = #### th[idx].nil?.! && # fuguai taisaku
# ckth(th[mx = thn.hgt], 3)) && (
ckth(th[mx = thn.hgt], 3)) ? (
pl_es(pc, ['th', th]); sl.slp 0 # , 4096
# f) && idx >= mx)
f) : nil) && idx >= mx)
.
579c
Fiber.new { ##
.
576d
563,565c
case a when Numeric then true end || # (
# verb "#{pc.to_xeh} #{a} #{op.to_xeh}")
verb("#{pc.to_xeh} #{a} #{op.to_xeh}")
.
554,555c
# knid(a, :Array) ? __method__(a, pc) : a # s_id(a, pc) : #? mruby 310200
case a when Array then __method__(a, pc) else a end # s_id(a, pc) else #? mruby 310200
.
550,551c
# ((tb = TB) == a || case a when Array then 0 >= a.hgt end) && (return a)
((tb = TB.dup) == a || case a when Array then 0 >= a.hgt end) && (return a)
.
546c
# tb = TB
.
532,536c
# def verb(s)
# @@m.lock
# puts s
# @@m.unlock
# end
def verb(s) @@m.lock; puts s; @@m.unlock end
.
515c
# bfsz = (a = [knid(th, :Array), [] == th]).size # t
bfsz = (a = [knid(th, :Array), tb == th]).size
.
513a
tb = TB.dup
.
482,489c
# def to_ia(n, lpl = self)
# lpl = lpl[n]; 0 == n ? lpl : @@Plmg.(@@pl0i, lpl) # c
# end
.
473a
# pl[i_k = self.afl(k, ?i)] =
# (pl[i_k]<< v)['ctr' == k && knid(v, :Array).! ? 0 .. -1 : -1] # p # ?
.
430,434d
387,398d
378,379c
# @@loc.ploc(n) { |a| JSON::parse(ENV[@@idb + a[0]])}
@@loc.ploc(n) { |a| (a = ENV[@@idb + a[0]]) &&
.
368c
@@loc.ploc(n, v) { |a| ENV[@@idb + a[0]] = JSON::generate(a[1])}
.
345,363d
336,338c
# 1.step(@@rmth + 1) { |i|
# self[i] = *a
# }
1.step(@@rmth + 1) { |i| self[i] = *a}
.
332d
325d
322a


@@loc = Loc.new(@@fl)
.
294a
module M__Loc
@@slp = Slp.new

def initialize(nm)
@nm = nm
end

def ploc(*a)
# s = nil
# @m.lock
begin
f = File.open(@nm, ?w) # q
f.flock(File::LOCK_EX)
rescue
# f.close # ?
@@slp.slp 0
# (s ||= @@slp).slp 0
retry
end ## if flg
a[0] = a[0].to_xeh
[yield(a), ## flg &&
f.close][0]
# @m.unlock][0]
# a = yield(r)
end
end

class Loc
include M__Loc
end


.
284d
281,282d
274,276c
# return a[i_s__r1].map{ |v| v.nil? ? v : send(*a[0 .. @@I_s__r0 + 1], v)}
return a_r1.map{ |v| v.nil? ? v : __send__(*a[0 .. @@I_s__r0 + 1], v)}
# else send(*a)
else __send__(*a)
.
271,272c
# case a[i_s__r1 = @@I_s__r1 + 1]
case a_r1 = a[@@I_s__r1 + 1]
.
253,259d
250d
188,191c
# @@fml.(lb).assoc(sym)[1 .. -1] # c
## (f = @@fml).(lb).assoc(sym)[1 .. -1] # c
@@fml.(lb).assoc(sym)[1 .. -1] || ( # c
# (f = @@fml).(lb).assoc(sym)[1 .. -1] || ( # c
# printf("Unkown code %s \n", OPTABLE_SYM[imem.get_opcode(cop)])
# printf("Unkown code %s \n", OPTABLE_SYM[rou(:get_opcode, cop)])
# printf("Unkown code %s \n", OPTABLE_SYM[@@rou.(:get_opcode, cop)]) # c
print("Unkown code #{sym} \n") # .to_s
return nil
# raise
## rg = Fiber.yield(nil)
)
.
184d
163,164d
138a
# t += 1 - (t <=> 0)
.
135a
# @@slp = (((@@slp = NSL_ >> 1) + (@@slp >> 5)) >> 8) + 1 >> 1
.
123c
# a[n] && yield(a[n], c) && a.delete_at(n) || n += 1
a[n] && yield(a[n], c) && (a.delete_at(n); redo); n += 1
.
120d
113,117c
# (f = ! a) && a = self
a ||= f = self # a ||= (f = true; self)
# i.! ? a.delete_if(&:yield) : a.each_with_index { |v, n|
# break if n >= i; v && yield(v, n) && a.delete_at(n)}
.
111c
# def delete_if__c(i, a = nil)
def delif_c(i, a = nil)
.
109d
102c
# ?i != m ? self[m.afl(k, ?i)] : self[0].index(self[0].assoc(k)) # self.index(idx) # q 2
?i != m ? self[m.afl(k, ?i)] : (self0 = self[0]).index(self0.assoc(k)) # self.index(idx) # q 2
## ?i != m ? self[m.afl(k, ?i)] : loop {self[0].index(self[0].assoc(k)) && break} # self.index(idx) # fuguai taisaku # q 2
# ?i != m ? self[m.afl(k, ?i)] : loop {(self0 = self[0]).index(self0.assoc(k)) && break} # self.index(idx) # fuguai taisaku # q 2
.
15d
4,5c
# :Array, :Numeric, :Fixnum, # :Float, :Bignum,
# :Symbol, :String, # :Object,
:Array, :Numeric, :Fixnum, :Symbol, :String,
.
2a
# Thread.new((((((((([

YAMAGUTIseisei

unread,
Apr 21, 2019, 6:43:02 AM4/21/19
to
1325c
## @rmt.join
.
1318,1319d
1311,1315c

.
1288,1289d
1271d
1266,1267c
# fl<< fls(pc) # p
fl<< fibi(@@fls ||= fls, ~ pc, 1) { |pc| 0 > pc ? ~ pc : pc} # p
.
1263c
# ise<< iset(rg) if 0 <= rg['pc', nil, ?-] && pctj.pop != pc # p # q # cp
0 <= rg['pc', nil, ?-] && pctj.pop != pc && ise<< fibi(@@iset ||= # cp # q # p
### iset, rg) {nil} # ?
# iset, rg.to_a('pc', 'sp', 'cop', 'sym')) {nil}
## iset, rg) {} # ?
iset, rg.to_a('pc', 'sp', 'cop', 'sym')) {}

.
1261d
1258,1259c
# lpl.verb "#{pc.to_xeh} #{sym} #{rg['cop'].to_xeh}" # if sym
loc.verb "#{pc.to_xeh} #{sym} #{rg['cop'].to_xeh}" # if sym
.
1247d
1244d
1078,1079d
1067a
loc = @@loc
.
1035,1043c
# @@iset2 = nil
@@iset = nil
# def iset(rg)
## rgd = rg.dup
# rgd = rg.to_a('pc', 'sp', 'cop', 'sym')
#
## fibi(@@iset2 ||= iset2, rgd) {nil}
# fibi(@@iset ||= iset, rg.to_a('pc', 'sp', 'cop', 'sym')) {nil}
# end
.
1030a
oa.empty? || oa.clear
.
1027c
# rg, m = Fiber.yield(0 != thi && ht <= thi && (thi = -1; true)) ##
rg, m = Fiber.yield(0 != thi && ht <= thi && ! ! thi = -1) ##
.
1025d
1021c
# pl.pl_es(pc1, opg.(thi) + [oa, []][thi <=> 0]) # c
pl.pl_es(pc1, opg.(thi) + oa) # c
.
1013,1014d
1006a
# lopa.push(k, 'th' != k ? fv : ( #? mruby 410200
## lopa.push(k, 'th' != k ? fv : fvl.force[oi <=> 0].(oi)) # c #? mruby 410200
# case fvl when Array then else fvl = fvl.force end # higokan mruby 70410200 #? mruby 410200
# knid(fvl, :Array) || fvl = fvl.force #? mruby 410200
# fvl[oi <=> 0].(oi))) # c
.
1004d
1001,1002d
999c
# opg = ->(oi, lopa = []) { i = -1 # l
opg = ->(oi, lopa = [], i = -1) { # l
.
997c
((ht = fv.hgt) <=> oi) >> 1]}] # .lazy #? mruby 410200
.
978,981d
976c
pc, sp, cop, sym = rg ## .to_a('pc', 'sp', 'cop', 'sym') # ?
.
965,966c
# def iset2 ##
def iset ##
.
956,963c
# @@fls2 = nil
@@fls = nil
# def fls(pc)
# fibi(@@fls2 ||= fls2, ~ pc, 1) {0 > pc ? ~ pc : pc}
# end
.
948,949c
# isr0 = [i, s, r0]
isr0 = [mt ? i : s, r[0]]
sz = plr.size
# ca[flg[1] ? 0 : 1].(r) # c
ca[
# ca.force[ #? mruby 410200
flg[1] ? 0 : 1].(r) # c
.
940,941c
f = flg.all? # && r.all? { |f|
# case f when Numeric then true else @@loc.verb(f); false end}
.
929d
924c
# lpl.verb "#{pc.to_xeh} #{sym} #{r[0].to_xeh} #{r[1].to_xeh}"
loc.verb "#{pc.to_xeh} #{sym} #{r[0].to_xeh} #{r[1].to_xeh}"
.
920d
913,918c
# plr += lm.(s[(sz = plr.size) .. # c
# sz + (ap = ap += (ap >> 1) >> 1) + (ap <=> 0)])
plr += lm.(s[sz .. sz + (ap = (ap += ap >> 1) >> 1)]) # + (ap <=> 0)]) # c # c
.
911d
904,905c
# pc1 = (pc1 = plr[r[1]]).nil? ? lm.(r[1]) : pc1 # c
pc1 = (pc1 = plr[r[1]] # ; r[1] >= sz ||
pc1.nil?) ? lm.(r[1]) : pc1 # c
.
898d
896d
885d
882d
873d
871c
# i_th = lpl.afl('th', ?i) # q
.
866,867c
loc = @@loc
sl = @@slp

.
860,861c
# def fls2 ##
def fls ##
.
858d
839,846c
# Fiber.new { |m = 1| ctr.times {m = Fiber.yield(false)}
# loop { sl.slp 0
Fiber.new { |m = 1| loop { sl.slp 0
# m = Fiber.yield(fb.resume(p1, m))
m = Fiber.yield(0 < ctr ? ! ctr -= 1 :
[fb.resume(p1, m), p1 = yield(p1)][0])}}
# p1 = yield(p1)
# }
# }
.
819,821c
# 0 < pl.hgt && pl[0 .. -1] =
(0 < thini = pl.hgt) && pl[0 .. -1] =
# pl[0 .. pl.hgt & ((thini = rmth + 1) << 1) | thini]
pl[0 .. thini & ((thini = rmth + 1) << 1) | thini]
.
810,812c
pl[0] = [[pl0i[0], [[thini]]], [pl0i[1], [6309]], [pl0i[2], []]]
# pl[0] = [[pl0i[0], [[thini]]], [pl0i[1], [NSL_]], [pl0i[2], []]]
# self[0] = [[[thini]], [68000], []].map.with_index { |v, i| [pl0i[i], v]}
.
807c
# 3080410200 : 5x2 ok ( gc ) : monami-ya.mrb 8270410200 813e2af8 # http://www.monami-ya.jp/
.
775c
plini(@@rmth, @pl = ENVary.new(true)) # 310200plini ?
.
751a
@@loc = Loc.new
.
631,632c
# @@f = [0x0.chr * 0x20] * 0x4
@@f = 0x0.chr * (0x20 << 2)
@@bm = 0xff.chr
.
613d
588c
# f && idx -= (idx <=> mx) >> 1 ##
.
580,586c
Fiber.yield((( # f = #### th[idx].nil?.! && # fuguai taisaku
# ckth(th[mx = thn.hgt], 3)) ? (
# pl_es(pc, ['th', th]); sl.slp 0 # , 4096
ckth(th[mx = thn.hgt], 3)) ? (pl_es(pc, ['th', th]); sl.slp 0 # , 4096
# f) : nil) && idx >= mx)
true) : verb.call) && [idx >= mx, idx -= (idx <=> mx) >> 1][0]) ##
.
574c
# f, mx = nil

# verb = ->{nil}
verb = ->{}
.
572d
567d
560,564c
# a, op = a
# case a when Numeric then true end ||
# verb("#{pc.to_xeh} #{a} #{op.to_xeh}")
# @@loc.verb("#{pc.to_xeh} #{a} #{op.to_xeh}")
(loc = @@loc).verb("#{pc.to_xeh} #{a[0]} #{a[1].to_xeh}")
# (imem = @@Imem).send(a, op) || op
(imem = @@Imem).send(*a) || a[1]
.
552,553c
## knid(a, :Array) ? __method__(a, pc) : a # s_id(a, pc) : #? mruby 310200
# case a when Array then __method__(a, pc) else a end # s_id(a, pc) else #? mruby 310200
# knid(a, :Array) ? s_id(a, pc) : a # __method__(a, pc) : #? mruby 410200
case a when Array then s_id(a, pc) else a end # __method__(a, pc) else #? mruby 410200
.
548,549c
# ((tb = TB.dup) == a || case a when Array then 0 >= a.hgt end) && (return a)
(TB.dup == a || case a when Array then 0 >= a.hgt end) && (return a)
.
544d
529,534c
# def verb(s) @@m.lock; puts s; @@m.unlock end
.
511,512c
# bfsz = (a = [knid(th, :Array), tb == th]).size
bfsz = (a = [knid(th, :Array), TB.dup == th]).size
.
509c
# tb = TB.dup
.
487,489d
482,484d
473a
['ctr' == k, k = self.afl(k, ?i)][0] && # q
knid(v, :Array).! ?
# case v when Array then true end.! ? # higokan ? mruby 70410200
pl[k]<< v : pl[k] = v # p
.
466c
# pl[i_k] = 'ctr' == k && ! knid(v, :Array) ? pl[i_k]<< v : v # p
.
461c
# i_k = self.afl(k, ?i) # q
.
424,426c
# (nil == @@fxnm) && @@fxnm = (Float == self.afl('ctr')[0].class # furui mattn/mruby-json
# (nil == @@fxnm) && @@fxnm = (Float == self.ctr_r.class) # furui mattn/mruby-json
# (nil == @@fxnm) && @@fxnm = (Float == self.afl('sym')[0].class) # furui mattn/mruby-json
.
411c
# @@fxnm = nil # furui mattn/mruby-json
.
369,371d
347c
# (Time.now.to_f - 0x3fffffff.to_f << 0x10).to_s.split(?.)[0][-8..-1].to_xeh # q
.
334c
# @@m = Mutex.new
.
295,326d
285c
# case op[0] when Numeric then op.inject(:+) else __send__(*op) end
case op[0] when Numeric then op.inject else __send__(*op) end
.
278d
276d
273d
267c
# def s__i__r0( *a) a[@@I_s__i].send(a[@@I_s__mt])[a[@@I_s__r0]] end
def s__i__r0( *a) a[@@I_s__s].send(a[@@I_s__mt])[a[@@I_s__r0]] end
.
260c
# @@I_s__i = 0; @@I_s__s = 1; @@I_s__r0 = 2; @@I_s__r1 = 3; @@I_s__mt = 4
@@I_s__s = 0; @@I_s__r0 = 1; @@I_s__r1 = 2; @@I_s__mt = 3
.
204,205d
197c
# print("Unkown code #{sym} \n") # .to_s
(loc = @@loc).verb("Unkown code #{sym} ") # .to_s
.
190,191d
186,187c
def ta(l, cop) [l[0] || :getarg_a, l[1] || cop][0 .. l[2] || 1] end
.
165a
@@loc = Loc.new
.
164a
module M__Loc # Inspired by Professor HidetosiNagai http://rubykaigi.org/2011/ja/schedule/details/17S05/#KyuTech
(
@@m = Mutex.new
@@slp = Slp.new
)

# def initialize(nm)
def initialize(nm = nil)
@nm = nm
end

def ploc(*a)
GC.disable # g
# s = nil
# @m.lock
# @@m.lock
begin
f = File.open(@nm, ?w) # q
f.flock(File::LOCK_EX)
rescue
# f.close # ?
@@slp.slp 0
# (s ||= @@slp).slp 0
# retry
@nm && retry
end ## if flg
a[0] = a[0].to_xeh
[yield(a), ## flg &&
f.close][0]
# @m.unlock][0]
# @@m.unlock][0]
# a = yield(r)
end

def verb(s)
GC.disable # g
@@m.lock
puts s
@@m.unlock
end
end

class Loc
include M__Loc
end

.
148,150c
# (self.size << 4).times {sleep 0; (true == true).is_a?(Object); sleep 0}
.
138c
@@slp = (((@@slp = NSL_ >> 2) + (@@slp >> 5)) >> 7) + 1 >> 1 # conf.gem :github => 'matsumotory/mruby-sleep' # bamchoh/mruby-sleep # msleep usleep
.
122,129c
[! a, (a ||= self # a ||= f = self # a ||= (f = true; self)
(i > n = a.size) && i = n
c = (n = 0) - 1
while i > c += 1 # c += 1 < i # -e:1: non float value (TypeError) ( monami-ya.mrb:60510200 mruby:70410200 )
# a[n] && yield(a[n], c) && a.delete_at(n) || n += 1
a[n] && yield(a[n], c) && (a.delete_at(n); redo); n += 1
# (v = a[n]) && yield(v, c) && a.delete_at(n) || n += 1
end
# f ? self.replace(a) : a
)][0] ? self.replace(a) : a # f ? self.replace(a) : a
.
117,118d
114d
102,106c
## self[0].index(k) # higokan mruby 10410200 ( irep.rb )
# ?i != m ? self[m.afl(k, ?i)] : (self0 = self[0]).index(self0.assoc(k)) # self.index(idx) # q 2
?i != m ? self[m.afl(k, ?i)] : (s0 = self[0]).index(s0.assoc(k)) # self.index(idx) # q 2
## ?i != m ? self[m.afl(k, ?i)] : loop {(self0 = self[0]).index(self0.assoc(k)) && break} # self.index(idx) # fuguai taisaku # q 2
# ?i != m ? self[m.afl(k, ?i)] : loop {(s0 = self[0]).index(s0.assoc(k)) && break} # self.index(idx) # fuguai taisaku # q 2
.
88c
# (i + self.first .. i + self.last - (self.exclude_end? ? 1 : 0))
i + self.first .. i + self.last - (self.exclude_end? ? 1 : 0)
.
70,71d
17,18c
# :ctr_s, :p, :s
:ctr_s, :p, :s].clear
#])))))))))
)))))))))
.
4,6c
# ((((((((([
((((((((( [ # Thread.new [

YAMAGUTIseisei

unread,
Jun 9, 2019, 5:33:33 AM6/9/19
to
1332a

# GC.start # g

.
1331a

# GC.stress = true # g
# GC.start # g

.
1280a
# if pco.! && fl.empty?
.
1268a

.
1264,1265c
# fl<< fibi(@@fls ||= fls, ~ pc, 1) { |pc| 0 > pc ? ~ pc : pc} # p
fl<< fibi(@@fls ||= fls, ~ pc, 1) { |pc| pc} # p
.
1257,1258d
1254,1255c
# if ?J != sym.to_s[0] && ! [:ENTER, :SEND, :RETURN, :NOP].include?(sym) # q
if (ifj.(sym) && ! ifs.(sym)) # c 2
.
1251d
1245,1247c
# c, sym = @@opf.(irep, pc = rg['pc'], imem) # c
c, sym = @@opf.(irep, pc = rg['pc']) # c
.
1234a
ifj = -> (sym) {?J != sym.to_s[0]} # l # q
ifs = -> (sym) {[:ENTER, :SEND, :RETURN, :NOP].include?(sym)} # l

.
1230d
1227a
sl.slp 0
.
1217,1218c
# printf("Unkown code %s \n", OPTABLE_SYM[get_opcode(cop)])
# printf("Unkown code %s \n", OPTABLE_SYM[imem.get_opcode(cop)])
.
1191c
# stack[0] = stack[imem.getarg_a(cop)]
# stack[0] = stack[rou(:getarg_a, cop)]
stack[0] = stack[rou.(:getarg_a, cop)] # c
.
1186c
# return stack[imem.getarg_a(cop)]
# return stack[rou(:getarg_a, cop)]
return stack[rou.(:getarg_a, cop)] # c
.
1136c
# n = imem.getarg_c(cop)
# n = rou(:getarg_c, cop)
n = rou.(:getarg_c, cop) # c
.
1134c
# mid = irep.syms[rou(:getarg_b, cop)]
mid = irep.syms[rou.(:getarg_b, cop)] # c
.
1132c
# a = imem.getarg_a(cop)
# a = rou(:getarg_a, cop)
a = rou.(:getarg_a, cop) # c
.
1109,1110c
# rg['pc', -1] = rg['pc'] + imem.getarg_sbx(cop)
# rg['pc', -1] = rg['pc'] + rou(:getarg_sbx, cop)
rg['pc', -1] = rg['pc'] + rou.(:getarg_sbx, cop) # c
.
1106,1107c
# if !stack[imem.getarg_a(cop)]
# if !stack[rou(:getarg_a, cop)]
if !stack[rou.(:getarg_a, cop)] # c
.
1099c
# rg['pc', -1] = rg['pc'] + imem.getarg_sbx(cop)
# rg['pc', -1] = rg['pc'] + rou(:getarg_sbx, cop)
rg['pc', -1] = rg['pc'] + rou.(:getarg_sbx, cop) # c
.
1097c
# if stack[imem.getarg_a(cop)]
# if stack[rou(:getarg_a, cop)]
if stack[rou.(:getarg_a, cop)] # c
.
1091c
# rg['pc', -1] = rg['pc'] + imem.getarg_sbx(cop)
# rg['pc', -1] = rg['pc'] + rou(:getarg_sbx, cop)
rg['pc', -1] = rg['pc'] + rou.(:getarg_sbx, cop) # c
.
1079a
rou = @@rou
.
1058c
# sym = OPTABLE_SYM[imem.get_opcode(cop)]
# sym = OPTABLE_SYM[rou(:get_opcode, cop)]
sym = OPTABLE_SYM[(rou = @@rou).(:get_opcode, cop)] # c
.
1049,1050c
# @@opf = ->(irep, pc, imem) { # l
@@opf = ->(irep, pc) { # l
# imem = @imem
.
1031,1040d
1021d
1015d
1002,1003d
997,999c
lopa.push(k, 'th' == k ? fvl[oi <=> 0].(oi) : fv) # c
# lopa.push(k, 'th' != k ? fv : fvl.force[oi <=> 0].(oi)) # c #? mruby 410200
.
992d
979d
956,962c
@@iset = nil
.
943,949c
## isr0 = [mt ? i : s, r[0]]
## sz = plr.size
# ca[
## ca.force[ #? mruby 410200
# flg[1] ? 0 : 1].(r) # c
# c_l.ca[flg[1] ? 0 : 1].(r) # c
r = c_l.ca
.
940,941c
## sp ||= s.p = pl[i_sp][0]
## pr || (pr, sy, mt = imem.fml('st', sym))
.
936c
# case f when Numeric then true else loc.verb(f); false end}
.
932,933c
### sym, (r0, r1) = rslt pl # higokan mruby 70410200 # bce75e27 2211410200 matz
## sym, r, flg = rslt(pl) # ; r0, r1 = r
# sym, r, flg = c_l.rslt
sym, r, flg, f = c_l.rslt
.
930c
## pl = lpl.pl_g(pc1) ##
c_l.plg(pc1)
.
919d
897,916c
## lm = ->(r1) {r1.nil? ? r1 : imem.send(pr, *isr0, r1, mt)} # l
# lm = ->(r1) {imem.send(pr, *isr0, r1, mt)} # l
.
893a
c_l = Fls__l.new(s, i, imem, lpl, sl)
.
892c
# sp, pr = nil; plr = []
.
887,888c
# ap = 1 << sz = 4; ap = @@fls_m ||=
# ((ap += (ap <<= 1) + (ap <<= 2) + (ap << 2)) >> sz) + 1 >> 1
.
885c
sym = nil
# flg = [f = false, f]
f = false
plr, r = []
.
883c
# isr0, pr, sy, sym, mt = nil
.
879,880c
# sp, pl, r = nil
sp, pl = nil
# plr = []

# c_l = Fls__l.new(s, i, imem, lpl, sl)
c_l = nil
.
872c
pc1 = 0 # (pc = 0) + 1
.
862,864c
@@fls = nil
def fls ##
.
859a

[@sym = sym, @r = r, @flg = flg, @f = flg.all?]
end
.
853,858c
# def rslt(pl)
# lpl = @pl
# r = pl[lpl.afl('th', ?i)] # q
## r.map { |v| v[1] = v[-1]}
## r = r.map { |v| v[1] = v[-1]} # higokan ? mruby 70410200
# [pl[lpl.afl('sym', ?i)].to_sym, # q
# *[r, r.map { |v| lpl.ckth(v, 1)}].map { |v| [v[0], v[-1]]}]
# end

class Fls__l
@@fls_m = nil

def initialize(s, irep, imem, lpl, sl)
(
@s = s; @i = irep; @imem = imem; @lpl = lpl

# sp, sz, isr0, r0, r1, lm, sy = [] # higokan ? mruby 70410200
# sp, sz, ht, isr0, r0, r1, lm, sy = [][0]
# @sp, @isr0, @r0, @r1, @r, @pr, @sym, @sy, @mt = nil
@sp, @isr0, @r, @pr, @sym, @sy, @mt = nil

@f = false; @flg = [false, false]

# ap = 1 << sz = 3; ap = @@fls_m ||=
ap = 1 << sz = 3; @ap = @@fls_m ||=
((ap += (ap <<= 1) + (ap <<= 2) + (ap << 2)) >> sz) + 1 >> 1

@plr = []; @sz = 0 # @plr.size
# @lm = ->(r1) {r1.nil? ? r1 : @imem.send(@pr, *@isr0, r1, @mt)} # l
@lm = ->(r1) {@imem.send(@pr, *@isr0, r1, @mt)} # l
@ca = [
->(r) { # f
# @r = @r1 < @sz && @plr[@r1] || @lm.(@r1) # c
sz = (sz = @plr[r[1]] ; r[1] >= @sz || # _ = ( _ = @plr[
# sz) || @lm.(r[1]) # c
sz.nil?) ? @lm.(r[1]) : sz # c
# s[@r1] = @sy ? [s[@r1], @r].inject(@sy) : @r
s[r[1]] = @sy ? [s[r[1]], sz].inject(@sy) : sz # : _
}, # rs = [r1.to_xeh, r0.to_xeh]},
->(r) { # flg[0]
# ((sw = sp + sz) + 0xe).step(sw, -1) { # higokan mruby 70410200 # bbab89e7 5211410200 tmtm
# @sz.step(@sz + @ap -= @ap >> 2) { |n| @plr<< @lm.(@isr0, s[n])} # p c
0 == s.size ? sl.slp(0) : @plr += @lm.(s[(sz = @sz) .. sz + @ap = ( # c
# @ap += @ap >> 1) >> 1)]) # @ap >>= 1) + (@ap >> 1)])
# (sz = @ap) += sz >> 1) >> 1]) # sz = @ap >> 1) + (sz >> 1)])
sz = @ap; sz += sz >> 1) >> 1]) # sz = @ap >> 1) + (sz >> 1)])
# .. sz + (ap = (ap += ap >> 1) >> 1) + (ap <=> 0)])
} # rs[1] = r0.to_xeh
] # .lazy #? mruby 410200

plb = Plb
# i_th = lpl.afl('th', ?i) # q
@i_sp = plb.assoc('sp')[1]
)
end

def ca # (i)
if @flg[0]
@sp ||= @s.p = @pl[@i_sp][0]
# @r0, @r1 = @r
@pr || (@pr, @sy, @mt = @imem.fml('st', @sym))
# @isr0 = [@mt ? @i : @s, @r0]
@isr0 = [@mt ? @i : @s, @r[0]]
@sz = @plr.size

# (ca = @ca).force[ #? mruby 410200
# @ca.force[ #? mruby 410200
# (ca = @ca)[
@ca[
@flg[1] ? 0 : 1].(@r) # c
end
# [@r, @sym]
@r
end

def plg(pc) @pl = @lpl.pl_g(pc) end

def rslt # (pl)
lpl = @lpl
pl = @pl
r = pl[lpl.afl('th', ?i)] # q
# r.map { |v| v[1] = v[-1]}
# r = r.map { |v| v[1] = v[-1]} # higokan ? mruby 70410200

sym, r, flg = [pl[lpl.afl('sym', ?i)].to_sym, # q
.
848,850d
845d
842,843d
823d
821d
813d
809c
# 3080410200 : 5x2 ok ( gc ) : monami-ya.mrb 8270410200 813e2af8 # www.monami-ya.jp
.
784a
Plb = @@plb
.
680,682c
def is(i = nil)
@i = i
end
.
676d
662a
@p = sp; @s = s; @i = nil
.
661c
# @p = sp; @s = s
.
631d
615,617c
##### fpl.delete_if.with_index { |fb, i| break if i > 0; fb.resume}
##### fpl.delete_if.with_index { |fb, i| next if i > 0; fb.resume}
##### fpl.delete_if.with_index { |fb, i| p i; fb.resume}
.
613c
# fpl.delete_if(&:resume)
## fpl.delete_if(&:resume(pc))
.
601a
## pc && 0 <= pc && (fpl<< (@@plw ||= plw).dup)[-1].resume(pc) # p # ?
.
595a
##@@plw = nil
.
588,589d
586d
582,584c
Fiber.yield((( #### th[idx].nil?.! && # fuguai taisaku
.
579a
## Fiber.yield # (false)
.
578c
Fiber.new { ## |pc| ##
.
575d
573d
568a
##def plw ##
.
564d
558,562c
# case (opc, op = a)[0] when Numeric then true end ||
.
554c
# return a[0] if 0 >= a.hgt
.
549,550d
545d
532,533d
517,518c
# bf = (Array.new(bfsz, '1').join).to_i(2) # higokan ? mruby 70410200
# bf = Array.new(bfsz) { |n| 1 << n}.inject # higokan ? mruby 70410200
.
514d
512d
437d
429,431d
416d
364d
342,343d
324d
317c
# return a_r1.map{ |v| v.nil? ? v : __send__(*a[0 .. @@I_s__r0 + 1], v)} # r
a[i_s__r1].map{ |v| v.nil? ? v : __send__(*a[0 .. i_s__r1 - 0_0 - 1], v)}
.
314,315c
a[0] = ?s << a[0].to_s # q
# case a_r1 = a[@@I_s__r1 + 1]
case a[i_s__r1 = @@I_s__r1 + 1]
.
308d
300d
238d
191d
185d
176d
168d
162c
module M__Loc # Inspired by Professor NAGAI Hidetosi http://rubykaigi.org/2011/ja/schedule/details/17S05/#KyuTech
.
147a
# [true][Time.now.to_f.to_s.split(?.)[1].to_i & 15] && GC.start # g
# [true][(@@ctr += 1; @@ctr &= 3)] && GC.start # g
.
146a
# (r - 1).times {usleep 0}; r.times {usleep t}
# (r - 1).times {msleep 0}; r.times {msleep t} # usleep yobi
# (r - 1).times {sleep 0}; r.times {sleep t} # antei ?
# (r - 1).times {sleep 0}
# r.times {sleep t}

.
142d
140c
# @@ctr = 0
.
127d
113c
# def delif_c(i, a = self) # # higokan ? mruby-thread:410200 monami-ya.mrb:60510200 mruby:70410200
.
105d
102,103c
# self[0].index(k) # higokan mruby 10410200 ( irep.rb )
.
87d
18,19c
))))))))) # .move # ? # conf.gem :github => 'miura1729/mruby-mmm'


# GC.generational_mode = false # g # http://syucream.github.io/mrubook/gc.html
.
16d
3,4c
# include MMM # conf.gem :github => 'miura1729/mruby-mmm'

YAMAGUTIseisei

unread,
Aug 12, 2019, 6:17:30 AM8/12/19
to
1377c
GC.start # g # antei ?
.
1373c
GC.start # g
.
1348,1349c
@Slp.slp
end
.
1346c
# ise[0].reject! { |fis| fis.resume}
ise[0].reject!(&:resume)
# ise[0].delif_c(1) { |fis, n| fis.resume}

# fl.step(@@rmth) { |n| # higokan ? touki 70410200
# fl.reject!.with_index { |v, n| v.resume(n) && 0 == n} # higokan ? touki 70410200

# if pfl = ise[1][0]
# (fl<< pfl[1]; ise[1].shift) if 0 <= pfl[0] # p
# end
.
1339,1340c
stack.ps rg['sp']
# @irep[0] = irep
@irep = irep
.
1333c
# if 0 <= rg['ctr', 1]
if 0 <= rg.pg
.
1329a
jsc.call
.
1328d
1324c
# plini
.
1322a
rg.ps(rg.pg.abs) # cp
.
1320c

# rg['ctr', 1] = rg['ctr', 1].abs
.
1315c
## ise[0].reject! { |fis| fis.resume} # higokan ? GC 70410200
.
1306,1308c
# pco = rg['pc'] if ?J == rg['sym'].to_s[0] # q
pco<< rg['pc'] if ?J == rg['sym'].to_s[0] # p # q
###### (pco = rg['pc']; pctj<< pco + 1) if ?J == rg['sym'].to_s[0] # q
# ise[1].push([false, false], [false, false])
# rg['ctr', 1] *= -1 # kakezan
rg.ps(-rg.pg)
.
1303a
end
.
1301,1302c
# if 0 <= rg['ctr', 1] || pco
# if pco.slice!(0 .. -1) || 0 <= rg['ctr', 1] # higokan monami-ya.mrb:60510200 mruby:70410200
# if pco.pop || 0 <= rg['ctr', 1]
if pco.pop || 0 <= rg.pg
# pco &&= nil
opg.call
# @@opg.(irep, rg, imem) # c

loc.verb "#{rg['pc'].to_xeh} #{rg['sym']} #{rg['cop'].to_xeh}" # if rg['sym']

# if (ifj.(sym) && ! ifs.(sym)) # c 2
if (ifj.(rg['sym']) && ! ifs.(rg['sym'])) # c 2
# ise<< iset(rg) # p
# ise<< iset(rg) if 0 <= rg['pc', nil, '-'] # p # cp
# ise[0]<< iset(rg) if 0 <= rg['pc', nil, '-'] # p # cp
# next if pcoj.call
# fl<< fls(rg['pc']) # p

# pcff = false
# if pfl = ise[1].shift
# pcf, pfl1 = pfl
# fl<< pfl1 if pcff = pcf.abs == rg['pc'] # p # cp
# end
pcf, pfl1 = ise[1].shift
if pcf && pcf.abs == rg['pc'] # cp
####### fl<< pfl1 # p
fl<< pfl1 # if pctj.pop != rg['pc'] # p
else
# if ! pcff
ise[0]<< iset(rg) # p

pcf = rg['pc']
# pcf = -pcf if 0 > rg['ctr', 1]
pcf = -pcf if 0 > rg.pg
####### ise[1]<< [pcf, fls(rg['pc'])] # p
ise[1]<< [pcf, fls(rg['pc'])] # if pctj.pop != rg['pc'] # p
next if pcoj.call
.
1284,1299c
# 0.step(@@rmth) { |n|
# 0.step(3) { |n|
# fl.reject_c!(1) { |v, n| v.resume(n)}
fl.reject!.with_index { |v, n| v.resume(n)}

# ise[1].each_index { |n|
ise[1].reject! { |pfl|
# (fl<< pfl[1]; ise[1].shift) if 0 <= pfl[0] # p
# (fl<< pfl[1]; ise[1].shift) if ! pfl[0] || 0 <= pfl[0] # p
# fl<< pfl[1] if pfl[0].! || 0 <= pfl[0] # p
pfl && (pfl[0].! || 0 <= pfl[0]) && fl<< pfl[1] # p
# pfl && (pfl.empty? || 0 <= pfl[0]) && fl<< pfl[1] # p
}
.
1280,1282c
# ise.reject! { |fis| fis.resume}
# ise[0].reject! { |fis| fis.resume}
.
1272a
# @@opg = ->(irep, rg, imem) { # l
# opg = -> { # |irep, rg, imem| # l
opg = -> { # l
c, sym = @@opf.(irep, rg['pc'], imem) # c
rg.push('cop', c)
rg.push('sym', sym)
# rg
}

.
1268a
@Slp.slp 0
.
1265,1266c
# if 0 > rg['ctr', 1]
if 0 > rg.pg
.
1263c
# pco = nil
pco = []
.
1260c
# [callinfo, irep, rg]
.
1252,1257c
callinfo, irep, rg = @@jsc.(stack, callinfo, irep, rg, imem) # c
## printf("Unkown code %s \n", OPTABLE_SYM[get_opcode(cop)])
# printf("Unkown code %s \n", OPTABLE_SYM[imem.get_opcode(cop)])
.
1244,1245c
callinfo.pd
### @sp = @callinfo[@cp]
.
1238,1241c
callinfo.pd
### @pc = @callinfo[@cp]
# pc = @callinfo[@cp] - 1
# rg['pc', -1] = @callinfo[@cp]
.
1231c
callinfo.pd
.
1227,1229c
stack[0] = stack[imem.getarg_a(cop)]
.
1225c
### @stack[@sp] = @stack[@sp + getarg_a(cop)]
.
1220,1223c
return stack[imem.getarg_a(cop)]
.
1217,1218c
if 0 == callinfo.pg
### return @stack[@sp + getarg_a(cop)]
.
1106,1212c
# case sym
case rg['sym']
.
1104c
jsc = Proc.new {
cop = rg['cop']
.
1100d
1097c
ise = [[], []]
.
1091c
@irep = irep
.
1087,1089c
imem = @imem
stack = @stack
callinfo = @callinfo
.
1085d
1080d
1076,1078c
sym = OPTABLE_SYM[imem.get_opcode(cop)]
.
1065,1068c
@@opf = ->(irep, pc, imem) { # l
.
1058,1062c
@@jsc = Proc.new { |stack, callinfo, irep, rg, imem|
cop = rg['cop']

# case sym
case rg['sym']

# 何もしない
when :NOP

# JMP nでpcをnだけ増やす。ただし、nは符号付き
when :JMP
## @pc = @pc + getarg_sbx(cop)
# pc = pc + lpl.getarg_sbx(cop) - 1
rg['pc', -1] = rg['pc'] + imem.getarg_sbx(cop)
## next

when :JMPIF
# if @stack[@sp + getarg_a(cop)] then
# if @stack[rg['sp'] + imem.getarg_a(cop)]
if stack[imem.getarg_a(cop)]
# @pc = @pc + getarg_sbx(cop)
# pc = pc + lpl.getarg_sbx(cop) - 1
rg['pc', -1] = rg['pc'] + imem.getarg_sbx(cop)
# next
end

# JMPNOT Ra, nでもしRaがnilかfalseならpcをnだけ増やす。ただし、nは符号付き
when :JMPNOT
### if !@stack[@sp + getarg_a(cop)] then
# if !@stack[rg['sp'] + imem.getarg_a(cop)]
if !stack[imem.getarg_a(cop)]
## @pc = @pc + getarg_sbx(cop)
# pc = pc + lpl.getarg_sbx(cop) - 1
rg['pc', -1] = rg['pc'] + imem.getarg_sbx(cop)
## next
end

# メソッドの先頭で引数のセットアップする命令。面倒なので詳細は省略
when :ENTER

# SEND Ra, mid, anumでRaをレシーバにしてシンボルmidの名前のメソッドを
# 呼び出す。ただし、引数はanum個あり、R(a+1), R(a+2)... R(a+anum)が引数
when :SEND
# a = getarg_a(cop)
a = imem.getarg_a(cop)
# mid = @irep.syms[getarg_b(cop)]
mid = irep.syms[imem.getarg_b(cop)]
# n = getarg_c(cop)
n = imem.getarg_c(cop)
### newirep = Irep::get_irep(@stack[@sp + a], mid)
# newirep = Irep::get_irep(@stack[rg['sp'] + a], mid)
newirep = Irep::get_irep(stack[a], mid)
if newirep then
### @callinfo[@cp] = @sp
# @callinfo[@cp] = rg['sp']
# callinfo[0] = rg['sp']
# @cp += 1
# callinfo.pi
# @callinfo[@cp] = @pc
# @callinfo[@cp] = rg['pc']
# callinfo[0] = rg['pc']
# @cp += 1
# callinfo.pi
# @callinfo[@cp] = @irep
# @callinfo[@cp] = irep
# callinfo[0] = irep
# @cp += 1
# callinfo.pi
callinfo[0 .. 2] = [rg['sp'], rg['pc'], irep]
callinfo.pi 3

### @sp += a
# rg['sp'] += a
rg['sp', -1] = rg['sp'] + a

## @pc = 0
rg['pc', -1] = 0
# @irep = newirep
irep = newirep
# @irepid = @irep.id
@irepid = irep.id

## next
else
args = []
n.times do |i|
### args.push @stack[@sp + a + i + 1]
args<< stack[a + i + 1] # p
end

### @stack[@sp + a] = @stack[@sp + a].send(mid, *args)
# @stack[rg['sp'] + a] = @stack[rg['sp'] + a].send(mid, *args)
stack[a] = stack[a].send(mid, *args)
end

# else
## printf("Unkown code %s ¥n", OPTABLE_SYM[get_opcode(cop)])
# printf("Unkown code %s ¥n", OPTABLE_SYM[imem.get_opcode(cop)])
end

[callinfo, irep, rg]
.
1048,1053c
@Slp.slp 0

Fiber.yield(0 == thi) ##
# sp = [sp].flatten
sp = [sb].flatten
.
1046c
(0 != thi && ht <= thi) ? thi = 0 : thi += 1
.
1043,1044c
pl.pl_es(pc1, opa)
pl.ctr_s(pc1) if 0 == thi
.
1040,1041c
# opa = opg.(thi) # c
# opa.push(k_sp, [sp]) if 0 == thi
opa = opg.(thi).push('ctr', [sp]) # c
.
1038c
# k_sp = @pla.assoc('sp')[1]
Fiber.new { ##
.
1028,1032c
if v # && if knid(fv, :Array)
if 'th' == k
if 0 == oi
# fv = [fv[oi] = th[oi] = imem.ta(fv[oi], cop)] + [[]]
lopa.push(thl[oi], imem.ta(fv[oi], cop))
k, fv = [thl[oi + 1], []]
else
fv[oi] = imem.ta(fv[oi], cop) if oi <= ht = fv.hgt
fv[oi] ? (k, fv = [thl[oi], fv[oi]]) : k = nil
# fv = th
end
end
# lopa.push(k, fv)
lopa.push(k, fv) if k
end
.
1020,1024d
1018c
# th = [] ##
thl = @@mh_thl
.
1006,1016c
fml = imem.fml('th', sym) || (
# printf("Unkown code %s ¥n", OPTABLE_SYM[imem.get_opcode(cop)])
# printf("Unkown code %s ¥n", OPTABLE_SYM[rou(:get_opcode, cop)])
# printf("Unkown code %s ¥n", OPTABLE_SYM[@@rou.(:get_opcode, cop)]) # c
loc.verb("Unkown code #{sym} ") # .to_s
# return nil
# raise
## rg = Fiber.yield(nil)
)
bt = imem.fml('th', 'bt')[1 .. -1]
sb = sp
.
1003,1004c
pc1 = pc + 1
loc = @@loc
imem = @imem
pl = @pl
# i_lf = @idx['lf']
.
996,1001c
def iset(rg) ##
pc, sp, cop, sym = rg.to_ra('pc', 'sp', 'cop', 'sym')
.
991c
m = fy.(m, f) # c
.
979,989c
if 0 == m
# s.sp(sp ||= (plr = pl[i_sp])[0])
# s.sp(sp ||= (plr = [pl[i_sp]].flatten)[0]) if flg[0]
# s.ps(sp ||= [pl[i_sp]].flatten[0]) if flg[0]
s.ps(sp ||= pl[i_sp].flatten[0]) if flg[0]
# plr ||= [sp]
# s.sp sp
r0, r1 = r
# pr || (pr, sy = imem.fml('st', sym)[1 .. -1])
pr || (pr, sy, mt = imem.fml('st', sym)[1 .. -1])

# isr0 = [i, s, r0]
isr0 = [mt ? i : s, r0]
# sz = plr.size
sz = plr.size if flg[0]
if f
# if f && ktf
# r = r1 < sz && plr[r1] || lm.(isr0, r1) # c
r = r1 < sz ? plr[r1] : nil # isyoku tokusei
# r.nil? && r = lm.(isr0, r1) # c
r.nil? && r = lm.(r1) # c
s[r1] = sy ? [s[r1], r].inject(sy) : r
rs = [r1.to_xeh, r0.to_xeh]
elsif flg[0]
# elsif flg[0] && ktf
mx = 0xf
s.s.hgt <= mx && mx = s.s.hgt
# sz.step(mx) { |n| plr<< lm.(isr0, s[n])} # p c
sz.step(mx) { |n| plr<< lm.(s[n])} # p c
# (mx - sz).times { |n| plr<< lm.(isr0, s[n + sz])} # p c
# (mx - sz).times { |n| s[n + sz] && plr<< lm.(isr0, s[n + sz])} # p c
rs[1] = r0.to_xeh
elsif flg[-1]
# elsif flg[-1] && ktf
rs[0] = r1.to_xeh
end
.
967,977c
# if f.! || ! ktf
pl = lpl.pl_g(pc1) ##
sym, r = rslt(pl)

## for idx in (0 ... pl[i_th].size)
# for idx in (0 ... r.size)
## flg[idx] = lpl.ckth(pl[i_th][idx], 1) ## ####
# flg[idx] = lpl.ckth(r[idx], 1) ## ####
# end
r.each_with_index { |v, i| flg[i] = lpl.ckth(v, 1)} ## ####

# sp = pl[i_sp]
# sp = sp[0] if (ktf = knid(sp, :Array))
# f = ktf && ! flg.include?(false)
# f = ! flg.include?(false)
f = flg.all?
m = fy.(m, false) # c
.
963,965d
961c
Fiber.new { |m = 1|
.
916,957c
fy = ->(m, f) { # @Slp.slp 0
loc.verb "#{pc.to_xeh} #{sym} #{rs[1]} #{rs[0]}"
.
914a
pc1 = pc + 1
loc = @@loc
lpl = @pl
imem = @imem
# i_th = lpl.afl('th', ?i) # q
i_sp = lpl.afl(@pla.assoc('sp')[1], ?i) ## # q

f = false; flg = [false] # ; ktf = false
s = Stack.new
# i = @irep[0]
i = @irep
plr = []

# sp, wd, isr0, r0, r1, lm, sy = [][0]
# r = 0; r0, r1 = [nil, nil]
# pl, sp, r, r0, r1, sym, pr = nil
# pl, sp, mt, r, r0, r1, sym, pr = nil
pl, sp, mt, isr0, r, r0, r1, sym, pr = nil

rs = [?-, ?-] # q 2

# lm = ->(isr0, r1) {r1.nil? ? r1 : imem.send(pr, *isr0, r1, mt)} # l
## lm = ->(isr0, r1) {imem.send(pr, *isr0, r1, mt)} # l
lm = ->(r1) {r1.nil? ? r1 : imem.send(pr, *isr0, r1, mt)} # l
# lm = ->(r1) {imem.send(pr, *isr0, r1, mt)} # l
.
911,912c
def fls(pc) ##
.
895,908c
r[1] = r[-1]
[pl[lpl.afl('sym', ?i)].to_sym, r] # q
# [pl[@pl.afl('sym', ?i)].to_sym, r] # q
.
876,892c
# knid(pl[lpl.afl('ctr', ?i)], :Array) && # q
# knid(pl[lpl.afl('ctr', ?i)][0], :Array) && # q
# lpl.ckth(r1 = pl[lpl.afl('th1', ?i)], 3) && r<< r1 # q # p
case pl[lpl.afl('ctr', ?i)][0]
when Array then lpl.ckth(r1 = pl[lpl.afl('th1', ?i)], 3) && r<< r1 # q # p
.
813,874c
def rslt(pl)
lpl = @pl
# r = pl[@pl.afl('th', ?i)] # q
r = [pl[lpl.afl('th0', ?i)]] # q
.
809c
ENVary.new(0).plm(pc)
.
788,797c
# @pl[0] =
# [['th', [[thini]]], ['sym', [0]], ['ctr', []], ['Numeric', [0]]]
# @pl[0] = [['th', [[thini]]], [thl[0], [thini]], [thl[1], [thini]],
# ['sym', [0]], ['ctr', []], ['Numeric', [0]]]
pl[0] = [[thl[0], [thini]], [thl[1], [thini]],
['sym', [0]], ['ctr', []]]
# ['sym', [0]], ['ctr', []], ['Numeric', [0]]] # furui mattn/mruby-json
# @pla = [['sp', 'ctr']]
.
785c
# 3080410200 : 5x2 ok ( gc ) : monami-ya.mrb 8270410200 813e2af8 # http://www.monami-ya.jp/
.
781c
thl = @@mh_thl
.
778a
# def plini
.
757,760c
@pla = [['sp', 'ctr']]

####### @pl.nmrcf
.
751,752c
thini = [false, 0]
# @pl = ENVary.new(rmth + 1, [thini], [], [])
# @pl = ENVary.new(rmth + 1, [thini], thini, thini, [], [])
# @pl = ENVary.new(rmth + 1, thini, thini, [], [])

# plini

# @pl = ENVary.new(true) # 410200plini
plini(@@rmth, @pl = ENVary.new(rmth + 1, thini, thini, [], [])) # 310200plini ?
.
748a
rmth = @@rmth
.
746c
@irep = nil # 現在実行中の命令列オブジェクト
.
742a
@callinfo = Stack.new(0, []) # メソッド呼び出しで呼び出し元の情報を格納
.
741c
@stack = Stack.new # スタック(@spより上位をレジスタとして扱う)
.
736,737c
GC.start # g # antei ?

# @imem = Imem.new
@imem = @@Imem
@Slp = @@Slp
.
727,732c
@@rmth = 39
# @@loc = Loc.new
@@loc = LOC

# @@Imem = Imem.new
@@Imem = IMEM
# @@Slp = Slp.new
@@Slp = SLP
.
721a
include M__H
.
713a

# prepend M__Ist
.
711c
def ps(i)
@a.assoc('ctr')[1] = i
end

def pg
@a.assoc('ctr')[1]
end

def to_ra(*a)
.
707c
# case v when Numeric then 'pc' == k && v == @a.assoc(k)[i] && v = -v end # cp
.
693,697c
@a.assoc(k)[i]
# v = @a.assoc(k)[i]
## v = v.abs if knid(v, :Numeric) # cp
# v = v.abs if 'pc' == k && ?- != m # cp # q
# v
.
655,656c
def pg() @p end
# def pi() @p += 1 end
def pi(i = 1) @p += i end
def pd() @p -= 1 end

# def sp(*a)
def ps(i)
# p id = self.object_id
# a.empty? || @p = a[0]
@p = i
# @p
.
652c
# @@m.unlock
# a
.
650c
# @@m.lock
.
644,646c
# @@m.lock
# s = @s
# @@m.unlock
@s[a[0] + @p]
.
635,640c
@p = sp; @s = s
# @p = sp; @m = m; @s = s
# @@m.lock
# s = @s
# @@m.unlock
# s
@s
.
618,620c
# def []=(*a)
## sleep 0
## @@Slp.slp 0
## a.to_s
# super
# end
.
614,616c
# def [](*a) # ok : monami-ya.mrb:60510200
## sleep 0
## @@Slp.slp 0
## a.to_s
# super
# end
.
610,612c
# def initialize
## @f = '' # cannot set instance variable (ArgumentError)
# end
.
607,608c
# @@f = 0x0.chr * (0x20 << 2)
# @@bm = 0xff.chr
.
601c
# class ENVary < Array
.
598a

# private
.
595,596c
@@Slp.slp
GC.start # g # antei ?
.
590a
## fpl = delif_c(1, fpl) { |fb, n| fb.resume(pc)} # ?
.
583a
# self.pl(cto)
# self.pl(pc - 1)
.
581c
# fpl<< self.plw(pc) if flg[0] # p
.
576c
## pc && 0 <= pc && fpl<< (@@plw ||= plw); GC.disable # p # g
.
571d
555,563c
idx += 1 unless arf = ckth(th[idx], 2)
arf ||= ckth(th[idx], 2)
th[idx] = pl_eg(pc, thl[idx]) if arf
# flg = ckth(pl_eg(pc, 'ctr'), 0) if ! flg # [sp]
flg ||= ckth(pl_eg(pc, 'ctr')[0], 0) # [sp]
# th = th[0 ... idx] if ckth(th[idx], 2) && flg
th = th[0 ... idx] if flg && (arf.! || ckth(th[idx], 2))
# idx += 1 ##
}
.
550,553c
# th = [] ##
thl = @@mh_thl
# th = [pl_eg(pc, 'th0'), pl_eg(pc, 'th1')]
# th = [pl_eg(pc, thl[0]), pl_eg(pc, thl[1])]
th = pl_g(pc, *thl)

idx = 0 ##
Fiber.new { ##
# while th[idx .. -1] = (thn = pl_eg(pc, 'th'))[idx .. -1] ##
loop {
# th = th[0 .. (mx = thn.hgt)] ####
mx = th.hgt
th[idx] = s_id(th[idx], pc - 1) if mx >= idx
if ckth(th[mx], 3)
# self.pl_es(pc, ['th', th])
th.each_index { |n| pl_es(pc, [thl[n], th[n]])}
# idx = idx == mx ? 0 : idx + 1 ###
flg = true ##
end
@@Slp.slp 0
Fiber.yield(flg && idx >= mx) ##
.
547d
542c
(loc = @@Loc).verb("#{pc.to_xeh} #{a[0]} #{a[1].to_xeh}")
.
520,526d
509,517c
while (0 == 1 & md) == a[(md & bf) >> 1]
# ((a[(md & bf) >> 1] ? 0 : 1) == 1 & md)
# ([true, false][1 & md] == a[(md & bf) >> 1])
md >>= bfsz
## 0 == lf ? return(false) : (md &= bf if 0 == lf >> bfsz) # ? mruby 70410200
0 == md >> bfsz && break
end # .!.!
.
480a
def to_ia(n, lpl = self)
[lpl = lpl[n], 0 != n && (return @@Plmg.(@@pl0i, lpl))][0] # r # c
end
.
475c
### aa.each_slice(2) { |k, v| send(k, v)}
.
453,455c
## knid(k, :Symbol) && (aa.push(k, v); next)
###### knid(k, :Symbol) && (aa.push(k, v); break)
# case k when Symbol then aa.push(k, v); break end
.
451c
# ary.each_slice(2) { |k, v| # .shift(2) higokan mruby 70410200
a.each_slice(2) { |k, v| # .shift(2) higokan mruby 70410200
.
445,447c
# def pl_es(n = 0, ary = nil, pl = nil)
def pl_es(n = 0, a = nil, pl = nil)
### aa = []
# pl[0 == n ? 1 : nil][idx(k)] = v
.
441c
# def pl_eg(n = 0, k)
def pl_eg(n, k)
.
437d
435c
# self[n] = 0 == n ? @@Plmg.(pl_g(-1), pl) : pl # c
.
431d
428c
# pl
a.empty? ? pl : a.map { |a| pl.afl(a, self)}
.
423,426d
419,420c
# 1 > n ? pl[idx0(n)] : pl
# if 1 > n then pl = pl[idx0(n)] end
.
417c
# self[n < 0 ? n + 1 : n][idx0(n)]
.
411,414c
# @@Idx0 = ->(n = 0, t = 1) {n - ((n <=> t) >> 1)} # l
@@Pldv = ->(pl) {pl.map { |a| a[1]}} # l
# def pl_g(n = 0)
# def pl_g(n)
def pl_g(n, *a)
.
393,397c
# ploc(n) { |a| JSON::parse(ENV[@@idb + a[0]])}
@@Loc.ploc(n) { |a| JSON::parse(ENV[@@idb + a[0]])}
.
383c
# ploc(n, v) { |a| ENV[@@idb + a[0]] = JSON::generate(a[1])}
@@Loc.ploc(n, v) { |a| ENV[@@idb + a[0]] = JSON::generate(a[1])}
.
371,372c
# @ary = Array.new(n)
(0 .. n).each{ |i|
# @ary = a
self[i] = *a
}
.
367c
n = a.shift
# @sz = a.size
if 1 > n
# @n = -n
# return self[@n]
return
end
.
363c
# def initialize(a = nil)
def initialize(*a)
.
360c
# @@loc = Loc.new(@@fl)
@@Loc = LOC
.
355,357d
341,347c
# @@Imem = Imem.new
@@Imem = IMEM
# @@slp = Slp.new
@@Slp = SLP

# @@fl = '‾‾ritepl'
# @@idb = @@fl
@@idb = FL
# @@fl += '.loc'
## @@fl += '/loc' # RISC OS ?
.
338a
include M__H
.
331a
IMEM = Imem.new

.
301,319c
# def s__sr0( *a) a[@@I_s__s][ a[@@I_s__r0]] end
# def s__r0( *a) a[@@I_s__r0] end
# def s__sr01( *a) a[@@I_s__s][ a[@@I_s__r0] + 1] end
## def s__i_pool_r0( *a) a[@@I_s__i].pool[ a[@@I_s__r0]] end
## def s__i_syms_r0( *a) a[@@I_s__i].syms[ a[@@I_s__r0]] end
## def s__i__r0( *a) a[@@I_s__i].send(a[@@I_s__mt])[a[@@I_s__r0]] end
# def s__i__r0( *a) a[@@I_s__s].send(a[@@I_s__mt])[a[@@I_s__r0]] end
# def s__r1_eq_sr01(*a) a[@@I_s__s][ a[@@I_s__r1]] ==
# a[@@I_s__s][ a[@@I_s__r0] + 1] end

@@I_s__r0 = 1; @@I_s__r1 = 2; @@I_s__mt = 3

def s__sr0( *a) a[0][ a[@@I_s__r0]] end
def s__r0( *a) a[@@I_s__r0] end
def s__sr01( *a) a[0][ a[@@I_s__r0] + 1] end
# def s__i_pool_r0( *a) a[@@I_s__i].pool[ a[@@I_s__r0]] end
# def s__i_syms_r0( *a) a[@@I_s__i].syms[ a[@@I_s__r0]] end
def s__i__r0( *a) a[0].send(a[@@I_s__mt])[a[@@I_s__r0]] end
def s__r1_eq_sr01(*a) a[0][ a[@@I_s__r1]] ==
a[0][ a[@@I_s__r0] + 1] end

def method_missing(*a) self.send(?s << a[0].to_s, *a[1 .. -1]) end
.
299c
# @@I_s__s = 0; @@I_s__r0 = 1; @@I_s__r1 = 2; @@I_s__mt = 3
.
233,242c
@@fml.(lb).assoc(sym) # c
# (f = @@fml).(lb).assoc(sym) # c
.
209d
207a
LOC = Loc.new(FL << '.loc')
# LOC = Loc.new(FL << '/loc') # RISC OS ?


.
194a
# }
.
185,186c
# @@slp.slp 0
## (s ||= @@slp).slp 0
# (s ||= @@Slp).slp 0 # higokan ? mruby 70410200
@@Slp.slp 0
.
175a
# @@ploc = Fiber.new { |a|
# @@ploc = Proc.new { |*a|
.
169c
# @@slp = Slp.new
@@Slp = SLP
.
165a

.
158a
SLP = Slp.new


.
142,143c
# (r - 1).times {sleep 0}; GC.start; r.times {sleep t} # g # fuantei ( keisan gosa ) ?
(r - 1).times {usleep 0}; r.times {usleep t}
.
140c
# (r - 1).times {usleep 0}; GC.start; r.times {usleep t} # g # conf.gem :github => 'kimushu/mruby-sleep' # msleep usleep
.
29a
module M__H
@@mh_thl = (0 .. 1).map { |n| 'th' + n.to_xeh}
end

.
24,25c
FL = '‾‾ritepl'
.
2a
# Experimental : Merry HongmengOS memorial

YAMAGUTIseisei

unread,
Oct 27, 2019, 8:32:34 AM10/27/19
to
1399c
# @slp.slp
sl.slp
.
1397c
# end
.
1395c
# if pfl = ise[1][0]
.
1388,1390c
# ise[0].reject!(&:resume)
# ise[0].delif_c(2) { |fis, n| fis.resume}
ise[0].reject! { |fis| fis[1].resume && 0 <= fis[0]}
# ise[0].delif_c(2) { |fis, n| fis[1].resume && 0 <= fis[0]} # thl.size
.
1373d
1359,1361d
1345d
1341,1343c
# pco<< rg['pc'] if ?J == rg['sym'].to_s[0] # p # q
pco<< rg['pc'] if ifj.(rg['sym']) # p c

# opg.call
# if ! ifj.(rg['sym'])

.
1338d
1310,1336c
# if (ifj.(rg['sym']) && ! ifs.(rg['sym'])) # c 2
unless (ifj.(rg['sym']) || ifs.(rg['sym'])) # c 2
ist.call

next if pcoj.call
.
1306d
1304d
1302d
1295,1297c
# fl<< pfl[1] if ! pfl[0] || 0 <= pfl[0] # p
if pfl
# ise[0]<< iset(pfl[1]) # p
# ise[0]<< [pfl[0], iset(pfl[1])] # p
ise[0]<< [pfl[0], isfl(pfl[1])] # p
if 0 <= pfl[0]
fl<< fls(pfl[0]) # p
end
true
# pfl && (! pfl[0] || 0 <= pfl[0]) && fl<< pfl[1] # p
end
.
1291d
1288,1289c
###### 0.step(1) { |n|
# 0.step(0) { |n|
fl.delif_c(1) { |v, n| v.resume(n)}
# fl.reject!.with_index { |v, n| v.resume(n)}
.
1283d
1276c
ist = -> { # l
# pcf, pfl1 = ise[1].shift
# if pcf && pcf.abs == rg['pc'] # cp
# fl<< pfl1 # p

unless ise[0].empty?
# pfl = ise[0][-1] # .pop
pfl = ise[0].pop
pcf = pfl[0]
if 0 > pcf
if pcf.abs == rg['pc'] # cp
fl<< fls(pcf.abs) # p # cp
pfl[0] = pcf.abs # cp
ise[0]<< pfl # p
# ise[0].pop
# else
# ise[0]<< iset(rg) # p
# ise[0]<< isfl(rg) # p
next
end
else
ise[0]<< pfl # p
end
end
pcf = rg['pc']
pcf = -pcf if 0 > rg.pg
##### rg['pc'] *= -1 if 0 > rg['ctr', 1] # kakezan # cp
##### pcf = rg['pc']
# ise[1]<< [pcf, fls(rg['pc'])] # p
ise[1]<< [pcf, rg.to_ra] # p
}

# ifj = -> (sym) {?J != sym.to_s[0]} # l # q
ifj = -> (sym) {?J == sym.to_s[0]} # l # q
.
1267,1270c
# @@opg = -> (irep, rg, imem) { # l
opg = -> { # l
c, sym = @@opf.(irep, rg['pc']) # c # cp
.
1262c
# @slp.slp 0
sl.slp 0
.
1258d
1255d
1252c
# [callinfo, irep, rg]
.
1247,1248c
callinfo, irep, rg = @@jsc.(stack, callinfo, irep, rg, imem) # c
# printf("Unkown code %s \n", OPTABLE_SYM[get_opcode(cop)])
.
1240c
# @sp = @callinfo[@cp]
.
1234c
# @pc = @callinfo[@cp]
.
1224c
stack[0] = stack[rou.getarg_a(cop)]
.
1222c
# @stack[@sp] = @stack[@sp + getarg_a(cop)]
.
1220c
return stack[rou.getarg_a(cop)]
.
1218c
# return @stack[@sp + getarg_a(cop)]
.
1211,1212c
case sym
# case rg['sym']
.
1209c
cop, sym = rg.to_ra('cop', 'sym')
.
1204a
rou = @Rou
.
1203d
1201a
# ise = []
.
1190c
loc = @@Loc
sl = @Slp
.
1188a
def isfl(rg)
a = []
fb = iset(rg)
Fiber.new {
loop {
# Fiber.yield r = true == fb.resume(*a)
Fiber.yield true == fb.resume(*a)
# fb = fls
# Fiber.yield fb.resume(m)
}
}
end

.
1185c
# sym = OPTABLE_SYM[imem.get_opcode(cop)]
sym = OPTABLE_SYM[(rou = @@Rou).get_opcode(cop)] # c
.
1177c
# @@opf = ->(irep, pc, imem) { # l
@@opf = ->(irep, pc) { # l
.
1170c
# printf("Unkown code %s \n", OPTABLE_SYM[get_opcode(cop)])
.
1164c
# @stack[@sp + a] = @stack[@sp + a].send(mid, *args)
.
1160c
# args.push @stack[@sp + a + i + 1]
.
1156c
# next
.
1149c
# @pc = 0
.
1141,1145c
callinfo.pi
# @sp += a
.
1139c
callinfo[0] = irep
.
1136c
callinfo.pi
.
1134c
callinfo[0] = rg['pc']
.
1131c
callinfo.pi
.
1129c
callinfo[0] = rg['sp']
.
1127c
# @callinfo[@cp] = @sp
.
1122,1123c
n = rou.getarg_c(cop)
# newirep = Irep::get_irep(@stack[@sp + a], mid)
.
1120c
mid = irep.syms[rou.getarg_b(cop)]
.
1118c
a = rou.getarg_a(cop)
.
1107,1108c
rg['pc', -1] = rg['pc'] + rou.getarg_sbx(cop)
# next
.
1104,1105c
if !stack[rou.getarg_a(cop)]
# @pc = @pc + getarg_sbx(cop)
.
1102c
# if !@stack[@sp + getarg_a(cop)] then
.
1096c
rg['pc', -1] = rg['pc'] + rou.getarg_sbx(cop)
.
1093c
if stack[rou.getarg_a(cop)]
.
1087,1088c
rg['pc', -1] = rg['pc'] + rou.getarg_sbx(cop)
# next
.
1085c
# @pc = @pc + getarg_sbx(cop)
.
1077,1078c
case sym
# case rg['sym']
.
1075c
rou = @@Rou
# cop = rg['cop']
cop, sym = rg.to_ra('cop', 'sym')
.
1070a
# pl1[i_lf] += 1
.
1069c
sp = [*sp]
.
1067c
# (0 != thi && ht <= thi) ? thi = 0 : thi += 1
thi += (0 != thi && ht <= thi) ? -thi : 1
# Fiber.yield(0 == thi) ##
# begin # fuantei ? mruby:70410200 monami-ya.mrb:60510200
loop {
sl.slp 0
Fiber.yield(0 <= pc ? [true][thi] : ([pcabs][thi] || pc)) # cp
# end while [true][thi] # fuantei ? mruby:70410200 monami-ya.mrb:60510200
break if 0 != thi }
.
1063,1065c
pl.ctr_s(pc1) if 0 == thi
.
1061d
1056,1059c
opa = opg.(thi).push('ctr', [sp]) # c
.
1046a
# 0 != kfv.size ? lopa += kfv : lopa.push(k, fv)
.
1045d
1042c
# kfv = fv[oi] ? [thl[oi], fv[oi]] : []
.
1038a
# kfv = [thl[oi], imem.ta(fv[oi], cop), thl[oi + 1], []]
.
1036d
1032a
# kfv = []
.
1027d
1025d
1013a
sl = @Slp
.
1009,1010c
pcabs = pc.abs # cp
# pc1 = pc + 1
pc1 = pcabs + 1 # cp
loc = @@Loc
.
1006a
rg = Rg.new rg
.
993,994d
989,991c
# s.s.hgt <= mx && mx = s.s.hgt
s.size - 1 <= mx && mx = s.size - 1
.
982,984c
r = (r = plr[r1] ; r1 >= sz ||
r.nil?) ? lm.(r1) : r # c
.
974d
972d
965,966c
# flg[0] && sp || s.p = sp = [pl[i_sp]].flatten[0]
.
959,960c
# f = ktf && flg.all?
.
950,954d
942a
mx = 0xf
.
932,934d
926,929c
# pl, sp, mt, isr0, r, r0, r1, sym, pr = nil
pl, sp, mt, isr0, r, r0, r1, sym, sy, pr = nil
.
921d
916d
913c
loc = @@Loc
.
906d
904d
901,902c
when Array then lpl.ckth(r[1], 2) && r[1] = r[0] end # q
.
899a

# case pl[lpl.afl('ctr', ?i)][0]
# when Array then lpl.ckth(r1 = pl[lpl.afl('th1', ?i)], 3) && r<< r1 # q # p
# end
# r[1] = r[-1]

thl.each_with_index { |v, n| r[n] = pl[lpl.afl(v, ?i)]} # q
# r[1] = r[0] if
# knid(pl[lpl.afl('ctr', ?i)][0], :Array) && lpl.ckth(r[1], 2) # q

.
896a
# r = [pl[lpl.afl('th0', ?i)]] # q
.
894,895c
thl = @@mh_thl
r = []
.
888c
# ENVary.new(0).plm(pc)
Pl.new.plm(pc)
.
866c
# 3080410200 : 5x2 ok ( gc ) : monami-ya.mrb 8270410200 813e2af8 # www.monami-ya.jp
.
859d
840,842c
# GC.disable # g # gene gc enable : mruby 6170410200 d17506c1
.
826,830c
# @pl = ENVary.new(rmth + 1, thini, thini, [], [])
.
809a
@Rou = @@Rou
.
807d
801a
@@Rou = ROU
.
800d
798d
795,796c
@@Loc = LOC
.
776c
if a.empty?
@a.map { |v| v.dup}
else
a.map { |v| self[v]}
end
.
710c
# @p = a[0] if ! a.empty?
# @p = pt
.
707a
# def sp(pt)
.
703,704c
def pi() @p += 1 end
.
674c
##### attr_accessor :p, :s # fuantei mruby 70410200
attr_accessor :p
.
639c
# class Pl < ENVary
.
631c
# @@Slp.slp
sl.slp
.
604a
sl = @@Slp
.
596d
594d
592d
589c
# idx += 1 unless arf = ckth(th[idx], 2)
# idx += 1 unless arf = mx == idx ? arf : ckth(th[idx], 2)
idx += 1 unless arf = ckth(th[idx], 2) if mx != idx
.
586c
# @@Slp.slp 0
sl.slp 0
.
583d
580,581c
unless arf = ckth(th[mx], 2)
.
577d
575d
572d
569d
567c
sl = @@Slp
.
561c
# (imem = @@Imem).mcall(*a) || a[1]
# (imem = @@Imem).send(*a) || a[1]
(rou = ROU).send(*a) || a[1]
.
548d
544a
# private
end

# module M__Pl # higokan ? mruby 70410200
class Pl < ENVary
def initialize; end

.
542c
end.!.!
.
510,511c
# ctr = (cta = pl_g(0).afl('ctr', self)).shift
# pl_es(0, ['ctr', cta])
# ctr
[(c = pl_g(0).afl('ctr', self)).shift, pl_es(0, ['ctr', c])][0]
.
505,507c
# def to_ia(n, lpl = self)
# [lpl = lpl[n], 0 != n && (return @@Plmg.(@@pl0i, lpl))][0] # r # c
# end
.
500,501d
498c
pl_s(n, pl)
.
480,496c
i = self.afl(k, ?i) # q
'ctr' == k && knid(v, :Array).! ? pl[i]<< v : pl[i] = v # p
# 'ctr' == k && case v when Array then pl[i] = v else pl[i]<< v end # p # higokan mruby 70410200
# 'ctr' == k && pl[i] = case v when Array then v else pl[i] + [v] end # p # higokan mruby 70410200
.
474d
467,468c
def pl_es(n = 0, a)
.
457a
GC.disable # g # fuguai taisaku
.
436a
# @@Idx0 = ->(n = 0, t = 1) {n + (t > n ? 1 : 0)} # l
.
421a
# @@loc.ploc(n) { |a| JSON::parse(ENV[@@idb + a[0]])}
.
410a
# @@loc.ploc(n, v) { |a| ENV[@@idb + a[0]] = JSON::generate(a[1])}
.
386,391c
## @sz = a.size
# if 1 > n
## @n = -n
## return self[@n]
# return
# end
.
376d
365,366d
362,363d
357d
341c
# include RiteOpcodeUtil
.
335,337c
# def mcall(*op)
# case op[0] when Numeric then op.inject else self.__send__(*op) end
# end
.
311,330c
# def s__sr0( *a) a[0][ a[@@I_s__r0]] end
# def s__r0( *a) a[@@I_s__r0] end
# def s__sr01( *a) a[0][ a[@@I_s__r0] + 1] end
## def s__i_pool_r0( *a) a[@@I_s__i].pool[ a[@@I_s__r0]] end
## def s__i_syms_r0( *a) a[@@I_s__i].syms[ a[@@I_s__r0]] end
# def s__i__r0( *a) a[0].send(a[@@I_s__mt])[a[@@I_s__r0]] end
# def s__r1_eq_sr01(*a) a[0][ a[@@I_s__r1]] ==
# a[0][ a[@@I_s__r0] + 1] end

def s__sr0( *a) a[0][ a[1]] end
def s__r0( *a) a[1] end
def s__sr01( *a) a[0][ a[1] + 1] end
def s__i__r0( *a) a[0].send(a[3])[a[1]] end
def s__r1_eq_sr01(*a) a[0][ a[2]] ==
a[0][ a[1] + 1] end
.
309c
# @@I_s__r0 = 1; @@I_s__r1 = 2; @@I_s__mt = 3
.
197,198d
178d
169,172c
class Rou
include RiteOpcodeUtil
include M__Rou
end

ROU = Rou.new
.
167c
module M__Rou
def send(*op)
case op[0] when Numeric then op.inject else self.__send__(*op) end
end
end
.
24,25c
# NSL_ = 6309 # nanosleep()
NSL_ = 10065 # nanosleep()
.
22a
GC.start # g

YAMAGUTIseisei

unread,
Dec 15, 2019, 7:30:22 AM12/15/19
to
1406c
# ise[0].reject! { |fis| fis[1].resume && 0 <= fis[0]}
# ise[i_i_d].delif_c(2) { |fis, n| fis[1].resume(n) && 0 <= fis[0]} # thl.size
ise[i_i_d].reject!.with_index { |fis, n| fis[1].resume(n) && 0 <= fis[0]}
##### ise[i_i_d].each_index { |n| fis = ise[i_i_d][n]
############ ise[i_i_d].reject!.with_index { |fis, n|
####### if fis[1].resume(n) && 0 <= fis[0]
############ fis[1].resume(n) && 0 <= fis[0]
####### end
############ }
# rg.isk

# 0.step(@@rmth) { |n| # higokan ? touki 70410200
# fl.shift && redo if fl[n] && fl[n].resume(n) && 0 == n

# }
.
1404c
# (fl<< pfl[1]; ise[1].shift) if ! pfl[0] || 0 <= pfl[0] # p
# fl<< pfl[1] if ! pfl[0] || 0 <= pfl[0] # p
if pfl
# ise[0]<< [pfl[0], isfl(pfl[1])] # p
ise[i_i_d]<< [pfl[0], isfl(pfl[1])] # p
# ise[i_i_d]<< [pfl[0], iset(pfl[1])] # p
if 0 <= pfl[0]
# fl<< fls(pfl[0]) # p
ise[i_i_f]<< fls(pfl[0]) # p
end
true
# fl<< pfl[1] && ise[1].shift && redo if pfl && (! pfl[0] || 0 <= pfl[0]) # p
end
}
# rg.iss { |n, pfl01| [iset(pfl01[n]), fls(pfl01[n])][n] }
.
1402c
# ise[i_i_s].delif_c(2) { |pfl, n| # thl.size
# ise[1].reject! { |pfl|
.
1394,1400c
ise[i_i_s].reject!.with_index { |pfl, n| # Inspired by : RobertDoggett ? http://microware.com/# , Professor TAKAZAWA Yosimitu http://mu.ice.uec.ac.jp/~takazawa/
.
1366,1368c
# if fl.empty?
##### if ise[i_i_f].empty?
if ise[i_i_f].empty? # && 0 > rg['ctr', 1]
# if rg.flok
# if pco.! && fl.empty? # d~ng
.
1357c
# end
)
.
1355c
# ise[i_i_s].push([false, false], [false, false])
.
1353c
# unless ifj.(rg['sym'])
.
1346,1350c
)][0] && (
# else
# next if pcoj.call
# pco<< rg['pc'] if ifj.(rg['sym']) # p c
pco[0] = rg['pc'] if ifj.(rg['sym']) # p # c
.
1344c
# rg.ist { |n| fls(n) }
false), (
.
1341,1342c
# unless (ifj.(rg['sym']) || ifs.(rg['sym'])) # c 2
[(ifj.(rg['sym']) || ifs.(rg['sym'])) || ( # c 2
.
1337a
# @@opg.(irep, rg, imem) # c
.
1334d
1318,1332c
ise[i_i_f].delif_c(1) { |v, n| v.resume(n)}

# rg.fls
.
1311,1316c
####### ise[i_i_f].delete_at(n) && redo if ise[i_i_f][n] && ise[i_i_f][n].resume(n) && 0 == n
.
1309c
##### 0.step(1) { |n|
##### 0.step(0) { |n|
# fl.delete_at(n) && redo if fl[n] && fl[n].resume(n) && 0 == n
.
1301d
1293,1298c

# ise[1]<< [0 > rg.pg ? -rg['pc'] : rg['pc'], rg.to_a] # p # cp
ise[i_i_s]<< [0 > rg.pg ? -rg['pc'] : rg['pc'], rg.to_a] # p # cp
# pcf = rg['pc']
# ise[1]<< [pcf, rg.to_a] # p
.
1291a
pfl = nil
.
1290c
# ise[0]<< pfl # p
ise[i_i_d]<< pfl # p
.
1279,1286c
if pcf.abs == rg['pc'] # cp
# fl<< fls(pcf.abs) # p # cp
ise[i_i_f]<< fls(pcf.abs) # p # cp
pfl[0] = pcf.abs # cp
# ise[0]<< pfl # p
ise[i_i_d]<< pfl # p
.
1270,1276c
# unless ise[0].empty?
# pfl = ise[0].pop
unless ise[i_i_d].empty?
pfl = ise[i_i_d].pop
.
1263c
c, sym = @@opf.(irep, rg['pc']) # c
.
1255d
1207d
1204c
cop, sym = rg['cop'], rg['sym']
.
1201a
# rg = Ist.new([['ctr', 1], ['pc', @pc], ['sp', @sp], ['cop'], ['sym']])
.
1200a
i_i_f = 0; i_i_d = 1; i_i_s = 2

.
1196,1197c
# ise = [[], []]
ise = [[], [], []]
# ise = Ist.new
.
1174,1177c
# Fiber.yield true == fb.resume(*a)
# r ||= (true == fb.resume ? true : false) && r
r = (true == fb.resume ? true : false) # && r
# m = Fiber.yield r
Fiber.yield r
r = true
# r = fl.resume(m)
.
1172c
##### fl = fls(pc.abs) # if 0 <= pc # cp
r = false
Fiber.new { |m = 1|
.
1170c
# a = []
rg = Rg.new rg
pc = ['pc']
.
1164,1165c
sym = OPTABLE_SYM[rou.get_opcode(cop)]
.
1156a
rou = @@Rou
.
1155d
1059d
1055,1056c
# cop, sym = rg['cop'], rg['sym']
# cop, sym = rg.to_ra('cop', 'sym')
cop, sym = rg.to_a('cop', 'sym')
.
1046,1047c
sp = [sp].flatten
.
1037,1039c
(0 != thi && ht <= thi) ? thi = 0 : thi += 1

.
1034a
pl.pl_es(pc1, opa)
.
1033d
1021c
# lopa.push(k, fv) # if k
k && lopa.push(*fv)
.
1019a
else
# k && lopa<< k # p
lopa<< k # p
.
1017c
# fv[oi] ? (k, fv = [thl[oi], fv[oi]]) : k = nil
fv[oi] ? (fv = [thl[oi], fv[oi]]) : k = nil

.
1012,1014c
# lopa.push(thl[oi], imem.ta(fv[oi], cop))
# k, fv = [thl[oi + 1], []] # t
fv = [thl[oi], imem.ta(fv[oi], cop), thl[oi + 1], []] # t

# kfv = [thl[oi], imem.ta(fv[oi], cop), thl[oi + 1], []] # t
.
1009c
if v # && knid(fv, :Array)
.
989a

.
984d
980,981c
# rg = Rg.new rg
pc, sp, cop, sym = rg.to_a('pc', 'sp', 'cop', 'sym')
.
972a
ca[flg.inject(0) { |rv, v| rv = v ? 0 : 1 | rv << 1}].call
.
951,971c
# pr || (pr, sy, mt = imem.fml('st', sym)[1 .. -1])
# isr0 = [mt ? i : s, r0]
# sz = plr.size if flg[0]
if flg[0]
pr || (pr, sy, mt = imem.fml('st', sym)[1 .. -1])
isr0 = [mt ? i : s, r0]
sz = plr.size
.
948,949c

f = # ktf &&
flg.all?

# m = fy.(m, false) # c
end
if 0 == m
.
940,945d
934a
r0, r1 = r
.
928c
# mx = 0xf
.
922a
mx = 0xf
ca = [
-> { # f # && ktf
# r = r1 < sz && plr[r1] || lm.(isr0, r1) # c
r = (r = plr[r1] ; r1 >= sz ||
r.nil?) ? lm.(r1) : r # c
s[r1] = sy ? [s[r1], r].inject(sy) : r
rs = [r1.to_xeh, r0.to_xeh]},
-> { # flg[0] # && ktf
## ((sw = sp + sz) + 0xe).step(sw, -1) { # higokan mruby 70410200 # bbab89e7 5211410200 tmtm
# s.s.hgt <= mx && mx = s.s.hgt
# sz.step(mx) { |n| plr<< lm.(isr0, s[n])} # p c
s.size < mx && mx = s.size - 1
# sz.step(mx) { |n| plr<< lm.(isr0, s[n])} # p c
sz.step(mx) { |n| plr<< lm.(s[n])} # p c
rs[1] = r0.to_xeh},
-> { # flg[-1] # && ktf
rs[0] = r1.to_xeh},
-> {}
] # .lazy

## fy = ->(m, f) { # l
# fy = ->(m, f) {fa = [f, false] # l
# loop {
# loc.verb "#{pc.to_xeh} #{sym} #{rs[1]} #{rs[0]}"
## Fiber.yield(f && 0 == m)
## m = Fiber.yield([f][m.abs])
## m = Fiber.yield(fa[m])
# m = Fiber.yield(f && fa[m])
## break(m) unless [f][m.abs]
# break(m) unless fa[m] }
## }
# }

.
916,917c
pl, sp, mt, isr0, r, r0, r1, sym, sy, pr, sz = nil
.
910c
# f = false; flg = [false] # ; ktf = false
f = false; flg = [false, false] # ; ktf = false
.
892,896c
r[1] = r[0] if
knid(pl[lpl.afl('ctr', ?i)][0], :Array) && lpl.ckth(r[1], 2) # q
.
881,890d
871d
861c
# pl.ref_pl0i
.
849c
# 3080410200 : 5x2 ok ( gc ) : monami-ya.mrb 8270410200 813e2af8 # http://www.monami-ya.jp/
.
816d
777a
#module M__Ist
## def initialize_with_ist(*a)
## initialize_without_ist(*a)
# def initialize(*a)
# super
# @i_i_f = 0; @i_i_d = 1; @i_i_s = 2
# @ise = [[], [], []]
# end
## alias_method_chain :initialize, :ist

# def ist # (rg)
# if ! @ise[@i_i_d].empty?
# pfl = @ise[@i_i_d].pop
# pcf = pfl[0]
# if pcf < 0
## if pcf.abs == rg['pc'] # cp
# if pcf.abs == @a.assoc('pc')[1] # cp
## @ise[@i_i_f]<< fls(pcf.abs) # cp
# @ise[@i_i_f]<< yield(pcf.abs) # cp
# pfl[0] = pcf.abs # cp
# @ise[@i_i_d]<< pfl
# end
# else
# @ise[@i_i_d]<< pfl
# end
# pfl = nil
# end
#
## @ise[@i_i_s]<< [0 > @a['ctr', 1] ? -@a['pc'] : @a['pc'], @a.to_a]
# @ise[@i_i_s]<< [0 > @a.assoc('ctr')[1] ? -...@a.assoc('pc')[1] : @a.assoc('pc')[1], @a]
# end

# def fls
# 0.step(1) { |n|
## fl.delete_at(n) && redo if fl[n] && fl[n].resume(n) && 0 == n
# @ise[@i_i_f].delete_at(n) && redo if
# @ise[@i_i_f][n] && @ise[@i_i_f][n].resume(n) && 0 == n

# }
# end

# def iss # (po = nil)
## ise[1].each_index { |n|
# @ise[@i_i_s].each_index { |n|
## ise[1].reject! { |pfl|
## (fl<< pfl[1]; ise[1].shift) if 0 <= pfl[0]
## (fl<< pfl[1]; ise[1].shift) if ! pfl[0] || 0 <= pfl[0]
## fl<< pfl[1] if ! pfl[0] || 0 <= pfl[0]
## pfl = ise[1][n]
# pfl = @ise[@i_i_s][n]
# if pfl
## ise[1].shift
# @ise[@i_i_s].shift
## ise[0]<< [pfl[0], isfl(pfl[1])]
## @ise[@i_i_d]<< [pfl[0], isfl(pfl[1])]
## @ise[@i_i_d]<< [pfl[0], iset(pfl[1])]
# @ise[@i_i_d]<< [pfl[0], yield(1, pfl)]
# if 0 <= pfl[0]
## fl<< fls(pfl[0])
## @ise[@i_i_f]<< fls(pfl[0])
# @ise[@i_i_f]<< yield(0, pfl)
# end
# redo
## fl<< pfl[1] && ise[1].shift && redo if pfl && (! pfl[0] || 0 <= pfl[0])
# end

# }
# end

# def isk
# ise[@i_i_d].reject! { |fis| fis[1].resume && 0 <= fis[0]}
# end
#
# def flok
# 0 == @ise[@i_i_f].size
# end
#end

#class Ist < Rg
## class Ist
# include M__Ist
#end

.
763,768c
def to_a(*a)
# if a.empty?
# @a.map { |v| v.dup}
# else
# a.map { |v| self[v]}
# end
a.empty? ? @a.map { |v| v.dup} : a.map { |v| self[v]}
.
760a
# @p
.
756a
# @p = i
.
751,752c
# v = -v if 'pc' == k && v == @a.assoc(k)[i] && knid(v, :Numeric) # cp
# 'pc' == k && case v when Numeric then v == @a.assoc(k)[i] && v = -v end # cp
@a.assoc(k)[i] = v
.
747c
# i ||= @a.assoc('ctr')[1]
i ||= @p
.
735c
# i ||= @a.assoc('ctr')[1]
i ||= @p
.
713a
@p = 1
.
621,622d
612,616d
584d
570d
568c
# flg = true ##
flg ||= ckth(th[mx], 1)
.
559a
# th = (0 .. 1).map { |v| pl_eg(pc, thl[v])}
.
549,551c
# (rou = ROU).send(*a) || a[1]
self.send(*a) || a[1]
.
546c
# GC.start # g # fuantei ( keisan gosa ) ?
.
540,541c
# knid(a, :Array) ? __method__(a, pc) : a # s_id(a, pc) : # 310200plini ?
case a when Array then __method__(a, pc) else a end # s_id(a, pc) else # 310200plini ?
.
533a
def send(*op)
# knid(op[0], :Numeric) ? op.inject(:+) : (rou = ROU).send(*op)
case op[0] when Numeric then op.inject else (rou = ROU).send(*op) end
# op.inject(knid(op[0], :Numeric) ? :+ : '(rou = ROU).send')
end

.
524c
end == true
.
484,488d
470,471c
a.each_slice(2) { |k, v| # .shift(2) higokan mruby 70410200
# 'ctr_s' == k && break(-v) # higokan ? mruby 70410200
.
467c
# n = arg.shift if arg.first.is_a?(Numeric) # unwork ( thread ? )
.
453,455c
self[n] = 0 == n ? @@Plmg.(pl_g(-1), pl) : pl # c
.
431d
416d
404d
387a
n = a.shift
.
378,384c
# a || return # 410200plini
.
368,369d
357d
332,336d
327c
# def s__i__r0( *a) a[0].send(a[3])[a[1]] end
def s__send( *a) a[0].send(a[3])[a[1]] end
.
255,256c
@@fml.(lb).assoc(sym) # c
.
234,235c
# [:MOVE, :__sr0], [:LOADL, :__i__r0, nil, :pool],
# [:LOADI, :__r0 ], [:LOADSYM, :__i__r0, nil, :syms],
[:MOVE, :__sr0], [:LOADL, :__send, nil, :pool],
[:LOADI, :__r0 ], [:LOADSYM, :__send, nil, :syms],
.
216c
# GC.disable # g
@@Slp.slp 0

.
195c
# GC.disable # g
# @@Slp.slp 0
.
175c
# include RiteOpcodeUtil
.
169,171c
include RiteOpcodeUtil

# def send(*op)
# knid(op[0], :Numeric) ? op.inject(:+) : self.__send__(*op)
# end
.
145c
## t -= t <=> 1
# t += 1 <=> t
.
25,26c
NSL_ = 6309 # nanosleep()
# NSL_ = 10065 # nanosleep()
.
23c
# GC.start # g

YAMAGUTIseisei

unread,
Feb 16, 2020, 11:42:50 AM2/16/20
to
1536c
# GC.start # g # antei ?
.
1532c
# GC.start # g
.
1527c
# fib(20)
fib(3)
# 3 + 382
.
1504c
# fl.delete_at(n) && redo if fl[n] && fl[n].resume(n) && 0 == n
.
1492,1501c
####### mn = 0 > fis[0] ? -1 : n
# if fis[1].resume(n) && 0 <= fis[0]
####### if fis[1].resume(mn) # && 0 <= fis[0]
# end

# ise[i_i_d].reject!.with_index { |fis, n|
ise[i_i_d].delif_c(1) { |fis, n|
# n = 0 > fis[0] ? -1 : n
0 > fis[0] && n = -1
# fis[1].resume(n) && 0 <= fis[0]
fis[1].resume(n)
}

.
1490d
1481,1487c
# if 0 <= pfl[0]
# ise[i_i_f]<< fls(pfl[0]) # p
# end
# true
.
1479d
1473,1477c
ise[i_i_s].reject! { |pfl| # Inspired by : RobertDoggett ? http://microware.com/# , Professor TAKAZAWA Yosimitu http://mu.ice.uec.ac.jp/~takazawa/
# ise[i_i_s].delif_c(1) { |pfl|
.
1471c
####### if pfl
####### ise[i_i_d]<< [pfl[0], isfl(pfl[1])] # p
# if 0 <= pfl[0]
# ise[i_i_f]<< fls(pfl[0]) # p
# end
.
1463c
stack.p = rg['sp']
.
1445a

# rg['ctr', 1] = rg['ctr', 1].abs # cp
.
1441,1444c
# if ise[i_i_f].empty?
if ise[i_i_d].empty? || (1 == ise[i_i_d].size && 0 > ise[i_i_d][-1][0])
.
1430,1431c

# rg['ctr', 1] *= -1 # kakezan
rg.ps(-rg.pg) # cp

# if ifj.(rg['sym'])
# stu.(rg['pc'] + imem.getarg_sbx(rg['cop'], rg['sym']) # c
# stu.(rg['pc'] + 1, rg['sym', -1]) # c
# end
.
1421,1427c
# pco[0] = rg['pc'] if ifj.(rg['sym']) # p
(pco[0] = rg['pc']; pctj<< pco[0] + 1) if ifj.(rg['sym']) # p # c
.
1416,1417c
# ist.call
# ist.(rg['pc']) if istm.call # c
ist.(rg['pc']) if pctj.pop != rg['pc'] && istm.call # c
.
1414d
1409,1410c
# if 0 <= rg['ctr', 1]
# opg.call
opg.(rg['pc']) # c # cp
# @@opg.(irep, rg, imem) # c
.
1405c
# }
.
1397,1403c
# 0.step(0) { |n|
# ise[i_i_f].delete_at(n) && redo if ise[i_i_f][n] && ise[i_i_f][n].resume(n) && 0 == n
.
1390,1391c
# ifj = -> (sym) {?J == sym.to_s[0]} # l # q
# ifs = -> (sym) {[:ENTER, :SEND, :RETURN, :NOP].include?(sym)} # l
ifj = ->(sy) {?J == sy.to_s[0]} # l # q
ifs = ->(sy) {[:ENTER, :SEND, :RETURN, :NOP].include?(sy)} # l

# stu = ->(pcl, sy) { # l
# opg.(pcl) # c
# ist.(pcl) unless (ifj.(sy) || ifs.(sy)) # c 3
# pcoj.call
# }
.
1383,1387c
true
}
ist = ->(pcl, po = 0) { # l
# ise[i_i_s]<< [0 > rg['ctr', 1] ? -rg['pc'] : rg['pc'], rg.to_a] # p # cp
# ise[i_i_s]<< [0 > rg.pg ? -pcl : pcl, rg.to_a] # p # cp
ise[i_i_s]<< [0 > rg.pg ? -pcl : pcl, Rg.new(rg.to_a)] # p # cp
# ise[i_i_s]<< [0 > rg['ctr', 1] ? -pcl : pcl, rg.ss(po)] # p # cp
.
1381c
# pfl = nil
.
1378,1379c
ise[i_i_d]<< pfl # p
.
1373,1375c
ise[i_i_d]<< pfl # p
# next
next false
.
1370,1371c
# ise[i_i_f]<< fls(pcf.abs) # p # cp
.
1362,1366c
istm = -> { # l
# unless ise[i_i_d].empty?
# pfl = ise[i_i_d].pop
if pfl = ise[i_i_d].pop
.
1354,1356c
# @@opg = ->(irep, rg, imem) { # l
# opg = -> { # l
opg = ->(pcl) { # l
# c, sym = @@opf.(irep, rg['pc'], imem) # c
c, sym = @@opf.(irep, pcl) # c
.
1328c
callinfo.p -= 1
.
1322c
callinfo.p -= 1
.
1315c
callinfo.p -= 1
.
1312d
1308d
1306c
if 0 == callinfo.p
.
1295,1296c
# rg = Rg.new([['ctr', 1], ['pc', @pc], ['sp', @sp], ['cop'], ['sym']])
rg = Rg.new([['pc', @pc], ['sp', @sp], ['cop'], ['sym']])
.
1293c
# i_i_f = 0; i_i_d = 1; i_i_s = 2
i_i_d = 0; i_i_u = 1; i_i_s = 2
.
1289c
pctj = []
.
1285,1287c
# fl = []
.
1262,1268c
# r = (true == fb.resume ? true : false) # && r
ri ||= (true == fb || true == fb.resume ? fb = true : false)
m = Fiber.yield ri && rf
# Fiber.yield r
rf = fl.resume(m.abs) if 0 <= m # || 0 <= pc
.
1258,1259c
fl = fls(pc.abs) # if 0 <= pc # cp
# r = false
ri, rf = false
.
1254,1256c
# rg.to_s # fuguai taisaku mruby 70410200
# rg = Rg.new rg
pc = rg['pc']
sl = @Slp
# pc = rg.assoc('pc')[1]
.
1249c
# sym = OPTABLE_SYM[imem.get_opcode(cop)]
sym = OPTABLE_SYM[(rou = @@Rou).get_opcode(cop)]
.
1241d
1207c
callinfo.p += 1
.
1202c
callinfo.p += 1
.
1197c
callinfo.p += 1
.
1169d
1158d
1140,1141d
1132c
# sp = [sp].flatten
sp = [sb].flatten
.
1117c
# Fiber.new { ##
Fiber.new { |thi = 0| ##
.
1115c
# thi = 0 ##
.
1109a
# kfv.empty? lopa.push(k, fv) : lopa += kfv
.
1108c
# k && lopa.push(*fv)
lopa.push(*fv)
.
1104d
1097,1099c
# fv[oi] = imem.ta(fv[oi], cop) if oi <= ht = fv.hgt
fv[oi] = ta.(fv[oi]) if oi <= ht = fv.hgt # c
# fv[oi] ? (fv = [thl[oi], fv[oi]]) : k = nil
fv = fv[oi] ? [thl[oi], fv[oi]] : []
.
1091,1093c
# fv = [thl[oi], imem.ta(fv[oi], cop), thl[oi + 1], []] # t
fv = [thl[oi], ta.(fv[oi]), thl[oi + 1], []] # c t
.
1080a
sb = sp
ta = ->(ta) { # l
[ta[0] || (sb = ~ [sp].flatten[0]; :getarg_a), ta[1] || cop][
0 .. ta[2] || 1] }
.
1073,1074c
# printf("Unkown code %s \n", OPTABLE_SYM[@Rou.get_opcode(cop)])
.
1062,1063c
# pcabs = pc.abs # cp
# pc1 = pcabs + 1 # cp
pc1 = (pcabs = pc.abs) + 1 # cp

.
1059d
1047c
# pr || (pr, sy, mt = imem.fml('st', sym)[1 .. -1])
pr || (pr, sy = imem.fml('st', sym)[1 .. -1]
?_ == pr.to_s[1] || (mt, pr = [pr, imem.l__s__send])) # q
.
1043,1045d
1033,1034c

# if flg[0] && 0 > (sp || s.p = sp = pl[i_sp].flatten[0])
# flg[0] && s.ps([pl[i_sp]].flatten[0]) { |i| # && 0 <= sp
flg[0] && s.ps(pl[i_sp].flatten[0]) { |i| # && 0 <= sp
0 > i ? (r[1] = r[0]; flg[1] = true; ~ i) : i
}
.
1027d
1020d
991,995c
# s.s.hgt <= mx && mx = s.s.hgt
# s.s.hgt <= mx = 0xf && mx = s.s.hgt
# s.size < mx = 0xf && mx = s.size - 1
# (mx = 0xf) > (mx |= s.size << 7) >> 7 && mx = (mx >> 7) - 1; mx &= 0x7f # .b
### (mx = 0xf) > (mx |= s.size - 1 << 8) >> 8 && mx >>= 8; mx &= 0xff # .b
(rs[1] = s.size) < mx = 0xf && mx = rs[1] - 1
# sz.step(mx) { |n| plr<< lm.(isr0, s[n])} # p c
(sz .. mx).each { |n| plr<< lm.(s[n])} # p c
# s.s.empty? ? @Slp.slp(0) : plr += lm.(isr0, s[plr.size, 0xf]) # c
.
981c
# mx = 0xf
.
974,975c
# sp, sz, isr0, r0, r1, lm, sy = [][0]
# pl, sp, mt, isr0, r, r0, r1, sym, sy, pr, sz = nil
pl, mt, isr0, r, r0, r1, sym, sy, pr, sz = nil
.
968d
952,954c
r = [pl[lpl.afl(thl[0], ?i)]] # q
r1 = pl[lpl.afl(thl[1], ?i)] # q
r<< r1 if knid(pl[lpl.afl('ctr', ?i)][0], :Array) && lpl.ckth(r1, 3) # p # q

# r.map { |v| v[1] = v[-1]}
# r = r.map { |v| v[1] = v[-1]} # higokan ? mruby 70410200
# [pl[lpl.afl('sym', ?i)].to_sym, # q
# *[r, r.map { |v| lpl.ckth(v, 1)}].map { |v| [v[0], v[-1]]}]
.
950d
932,933d
921c
# 3080410200 : 5x2 ok ( gc ) : monami-ya.mrb 8270410200 813e2af8 # www.monami-ya.jp
.
868c
# GC.start # g # antei ?
.
768,850d
748,749c
# @a.assoc('ctr')[1]
@p
.
743,744c
# @a.assoc('ctr')[1] = i
@p = i
.
739c
@a.assoc(k)[i] = v
.
715a
# def ss(po = 0, ctr = nil)
# @a.map { |v| k = v[0]
# if ! 'ctr' == k # v[0]
# v = [k, v[self.assoc('ctr')[1]]]
# v[1] += po if 'pc' == k
# end
# v
# }
# end

.
682c
# @p = i
# (i == @p) && return(i) # higokan ? mruby 70410200
return i if i == @p
# @p = 0 > i ? ~ i : i
@p = b ? yield(i) : i
.
678,679c
# def ps(i)
def ps(i, &b)
# id = self.object_id
.
672,674c
# def pg() @p end
# def pi() @p += 1 end
# def pd() @p -= 1 end
.
603c
# GC.start # g # antei ?
.
596,597d
568,569c
# arf ||= ckth(th[idx], 2)
# th[idx] = pl_eg(pc, thl[idx]) if arf
th[idx] = pl_eg(pc, thl[idx]) if arf ||= ckth(th[idx], 2)
.
551,552c
# idx = 0 ##
th = ((idx = 0) ... thl.size).map { |v| pl_eg(pc, thl[v])}
flg = false
.
549d
546d
519,522c
# def send(*op)
## knid(op[0], :Numeric) ? op.inject(:+) : (rou = ROU).send(*op)
# case op[0] when Numeric then op.inject else (rou = ROU).send(*op) end
## op.inject(knid(op[0], :Numeric) ? :+ : '(rou = ROU).send')
def send(*a)
case a[0] when Numeric then a.inject else (rou = ROU).send(*a) end
# a.inject(knid(a[0], :Numeric) ? :+ : '(rou = ROU).send')
.
466,468c
'ctr' == k && ! knid(v, :Array) ? pl[i]<< v : pl[i] = v # p
.
464d
449,450c
def pl_eg(n = 0, k)
.
438,439c
pl
# a.empty? ? pl : a.map { |a| pl.afl(a, self)}
.
426,428c
def pl_g(n = 0)
.
322,329c
# def s__i_pool_r0( *a) a[@@I_s__i].pool[ a[@@I_s__r0]] end
# def s__i_syms_r0( *a) a[@@I_s__i].syms[ a[@@I_s__r0]] end
.
263c
@@fml.(lb).assoc(sym) # c
# (f = @@fml).(lb).assoc(sym) # c
.
260c
def initialize
@l__s__send = @@l__s__send
end

# def ta(l, cop) [l[0] || :getarg_a, l[1] || cop][0 .. l[2] || 1] end
.
240,243c
# [:MOVE, :__sr0], [:LOADL, :__send, nil, :pool],
# [:LOADI, :__r0 ], [:LOADSYM, :__send, nil, :syms],
[:MOVE, :__sr0], [:LOADL, :pool],
[:LOADI, :__r0 ], [:LOADSYM, :syms],
.
237a
attr_accessor :l__s__send
@@l__s__send = :s__send

.
220,222c
GC.disable # g
.
198,199c
GC.disable # g
.
178d
171,174d
145,146c
# t += 1 - (t <=> 0) # 1 <=> t
.
125,129c
# c = (n = 0) - 1
# while i > c += 1 # c += 1 < i # -e:1: non float value (TypeError) ( monami-ya.mrb:60510200 mruby:70410200 )
# a[n] && yield(a[n], c) && (a.delete_at(n); redo); n += 1
## (v = a[n]) && yield(v, c) && a.delete_at(n) || n += 1
n = 0
c = -i - 1
while 0 > c += 1 # c += 1 < i # -e:1: non float value (TypeError) ( monami-ya.mrb:60510200 mruby:70410200 )
a[n] && yield(a[n], c + i) && (a.delete_at(n); redo); n += 1
# (v = a[n]) && yield(v, c + i) && a.delete_at(n) || n += 1
.
25,26c
# NSL_ = 6309 # nanosleep()
NSL_ = 10065 # nanosleep()
.
17a
:s__send, :l__s__send,
.



--
YAMAGUTIseisei ( str_h__namae = { :sei => "山口" , :mei => "青星" } )
http://hello.to/seisei/ mailto:seisei@.68..net
heiwa furiisekkusu 1tu

YAMAGUTIseisei

unread,
Apr 19, 2020, 1:07:53 PM4/19/20
to
1477c
GC.start # g # antei ?
.
1473c
GC.start # g
.
1466,1468c
fib(20)
.
1428,1437c

ise[i_i_d].reject!.with_index { |fis, n|
# ise[i_i_d].delif_c(ts) { |fis, n|
0 > fis[0] && n = -1 # cp
# fis[1].resume(n) && 0 <= fis[0] # cp
.
1425c
#### end ####

.
1422c
# ise[i_i_f]<< fls(pfl[0]) # p
.
1418,1420c
# ise[i_i_s].delif_c(ts) { |pfl|
#### if pfl ####
ise[i_i_d]<< [pfl[0], isfl(pfl[1])] # p
.
1414c
# ise[i_i_f]<< fls(pfl[0]) # p
.
1412c
####### ise[i_i_d]<< [pfl[0], isfl(pfl[1])] # p
.
1404d
1388c
## plini
.
1385,1386c
rg.ps(rg.pg.abs)
.
1381c
# if 0 == ise[i_i_f].size
# if 0 == ise[i_i_d].size || (1 == ise[i_i_d].size && 0 > ise[i_i_d][-1][0])
.
1365,1366c
rg.ps(-rg.pg)
.
1354,1361c
# ist.(rg['pc']) if pctj.pop != rg['pc'] && istm.call # c
# false), (
ist.(rg['pc']) if pctj.pop != rg['pc'] && istm.call; false), # c
(next if pcoj.call)
][0] && (
(pctj<< (pco[0] = rg['pc']) + 1) if ifj.(rg['sym']) # p # c
.
1351c
loc.verb "#{rg['pc'].to_xeh} #{rg['sym']} #{rg['cop'].to_xeh}" if
0 <= rg.pg
.
1348,1349c
opg.(rg['pc']) # c
# @@opg.(irep, rg, imem) # c
.
1339,1343d
1324,1328d
1318d
1307,1308c
next false # r
.
1298,1299d
1290a
# c, sym = @@opf.(irep, pcl, imem) # c
.
1282d
1279a
sl.slp 0
.
1269,1271c
# if ?J == sym.to_s[0] # q
if ifj.(sym) # c
jm.(cop, sym) # c
else
callinfo, irep, rg = @@jsc.(stack, callinfo, irep, rg, imem) # c
# printf("Unkown code %s \n", OPTABLE_SYM[get_opcode(cop)])
# printf("Unkown code %s \n", OPTABLE_SYM[imem.get_opcode(cop)])
end
.
1267a

# 何もしない
when :NOP

.
1232a
ifj = ->(sy) {?J == sy.to_s[0]} # l # q
ifs = ->(sy) {[:ENTER, :SEND, :RETURN, :NOP].include?(sy)} # l

jm = ->(cop, sym) { # l
case sym

# JMP nでpcをnだけ増やす。ただし、nは符号付き
when :JMP
# @pc = @pc + getarg_sbx(cop)
# pc = pc + lpl.getarg_sbx(cop) - 1
rg['pc', -1] = rg['pc'] + rou.getarg_sbx(cop)
# next

when :JMPIF
# if @stack[@sp + getarg_a(cop)] then
if stack[rou.getarg_a(cop)]
# @pc = @pc + getarg_sbx(cop)
# pc = pc + lpl.getarg_sbx(cop) - 1
rg['pc', -1] = rg['pc'] + rou.getarg_sbx(cop)
# next
end

# JMPNOT Ra, nでもしRaがnilかfalseならpcをnだけ増やす。ただし、nは符号付き
when :JMPNOT
# if !@stack[@sp + getarg_a(cop)] then
if !stack[rou.getarg_a(cop)]
# @pc = @pc + getarg_sbx(cop)
# pc = pc + lpl.getarg_sbx(cop) - 1
rg['pc', -1] = rg['pc'] + rou.getarg_sbx(cop)
# next
end

end
}

.
1230d
1227c
# i_i_f = 0; i_i_d = 1
.
1213c
# imem = @imem
imem = @Imem
.
1211a
ts = @@ts
.
1200,1201c
# ri ||= (true == fb || true == fb.resume ? fb = true : false)
ri ||= (true == fb || true == fb.resume && fb = true)
.
1183d
1083,1110c
# # JMP nでpcをnだけ増やす。ただし、nは符号付き
# when :JMP
## @pc = @pc + getarg_sbx(cop)
## pc = pc + lpl.getarg_sbx(cop) - 1
# rg['pc', -1] = rg['pc'] + rou.getarg_sbx(cop)
## next

# when :JMPIF
## if @stack[@sp + getarg_a(cop)] then
# if stack[rou.getarg_a(cop)]
## @pc = @pc + getarg_sbx(cop)
## pc = pc + lpl.getarg_sbx(cop) - 1
# rg['pc', -1] = rg['pc'] + rou.getarg_sbx(cop)
## next
# end

# # JMPNOT Ra, nでもしRaがnilかfalseならpcをnだけ増やす。ただし、nは符号付き
# when :JMPNOT
## if !@stack[@sp + getarg_a(cop)] then
# if !stack[rou.getarg_a(cop)]
## @pc = @pc + getarg_sbx(cop)
## pc = pc + lpl.getarg_sbx(cop) - 1
# rg['pc', -1] = rg['pc'] + rou.getarg_sbx(cop)
## next
# end
.
1079c
cop, sym = rg['cop'], rg['sym']
.
1068,1070c
end while [true][thi] # fuantei ? mruby:70410200 monami-ya.mrb:60510200
# break if 0 != thi }
.
1064,1065c
begin # fuantei ? mruby:70410200 monami-ya.mrb:60510200
# loop {
.
1054d
1052d
1045,1046d
1042,1043d
1032,1037c
# fv[oi] = ta.(fv[oi]) if oi <= ht = fv.hgt # c
# fv = fv[oi] ? [thl[oi], fv[oi]] : []
fv = (fv[oi] = ta.(fv[oi]) if oi <= ht = fv.hgt) ? # c
[thl[oi], fv[oi]] : []
.
1027,1030c
fv = [thl[oi], ta.(fv[oi]), thl[oi + 1], []] # c t
.
1023d
998c
# imem = @imem
imem = @Imem
.
993,994d
991c
# rg = Rg.new rg
pc, sp, cop, sym = [rg['pc'], rg['sp'], rg['cop'], rg['sym']]
.
979c
# ?_ == pr.to_s[1] || (mt, pr = [pr, imem.l__s__send])) # q
?_ == pr.to_s[1] || mt = pr) # q
.
977d
964d
960d
958c
# r.each_with_index { |v, i| flg[i] = lpl.ckth(v, 1)} ## ####
.
956c
# sym, (r0, r1) = rslt pl # higokan mruby 70410200 # bce75e27 2211410200 matz
# sym, r, flg = rslt(pl); r0, r1 = r
sym, r, flg = rslt(pl)
.
933,945d
928c
-> { # flg[-1]
.
918,926c
# sz.step(sz + ap -= ap >> 2) { |n| plr<< lm.(s[n])} # p c
# (rs[1] = s.size) < mx = 0xf && mx = rs[1] - 1
0 == s.size ? @Slp.slp(0) : # plr += lm.(s[plr.size, 0xf]) # c
plr += lm.(s[sz .. sz + (ap = (ap += ap >> 1) >> 1)]) # + (ap <=> 0)]) # c
.
916c
-> { # flg[0]
.
910,911c
-> { # f
# r = r1 < sz && plr[r1] || lm.(r1) # c
.
908d
904,906c
# sz = 4; ap = (1 << sz) - 1 - 1
# sz -= 2; ap = ((ap << sz) + ap >> sz - 1) + 1 >> 1
ap = 1 << sz = 3
ap = ((ap += (ap <<= 1) + (ap <<= 2) + (ap << 2)) >> sz) + 1 >> 1
)

# lm = ->(r1) {r1.nil? ? r1 : imem.send(pr, *isr0, r1, mt)} # l
lm = ->(r1) {imem.send(pr, *isr0, r1, mt)} # l
.
901,902c
# pl, mt, isr0, r, r0, r1, sym, sy, pr, sz = nil
mt, isr0, r0, r1, sym, sy, pr = nil

f = false; flg = [false, false]
r = nil; rs = [?-, ?-] # q 2
.
895,898c
(
pc1 = pc + 1
loc = @@Loc
lpl = @pl # ; plb = @@plb
# imem = @imem
imem = @Imem
i_sp = lpl.afl(@pla.assoc('sp')[1], ?i) ## # q

# pl = nil; s = Stack.new; sp = nil; plr = nil
# s = Stack.new; plr = nil
s = Stack.new; plr = []
i = @irep
.
889,893d
883c
[pl[lpl.afl('sym', ?i)].to_sym, # q
r, r.map { |v| lpl.ckth(v, 1)}]
# *[r, r.map { |v| lpl.ckth(v, 1)}].map { |v| [v[0], v[-1]]}]
.
879,881c
# r = r.map { |v| v[1] = v[-1]} # higokan ? mruby 70410200
.
874,876c
# r = [pl[lpl.afl(thl[0], ?i)]] # q
r = [pl[lpl.afl(thl[0], ?i)], []] # q # t
r1 = pl[lpl.afl(thl[1], ?i)] # q
# r<< r1 if knid(pl[lpl.afl('ctr', ?i)][0], :Array) && lpl.ckth(r1, 3) # p # q
r[1] = r1 if knid(pl[lpl.afl('ctr', ?i)][0], :Array) && lpl.ckth(r1, 3) # p # q

# r = Array.new(thl.size) { |n| pl[lpl.afl(thl[n], ?i)]} # q
.
856c
# @pla = [['sp', 'ctr']]
.
852a
## self[0] = [[thl[0], [thini]], [thl[1], [thini]],
.
846c
# 3080410200 : 5x2 ok ( gc ) : monami-ya.mrb 8270410200 813e2af8 # http://www.monami-ya.jp/
.
840a
## def plini
.
823c
GC.disable # g # gene gc enable : mruby 6170410200 d17506c1
.
816a
## @pl.plini(@@rmth, @pl = ENVary.new(rmth + 1, thini, thini, [], [])) # 310200plini ?
.
813a
# @pll = [thini, thini, [], []]
# @pl = ENVary.new(rmth + 1, thini, thini, [], [])
## @pl = ENVary.new(rmth + 1, *@pll)

## plini
# @pl.plini
.
795c
# @imem = @@Imem
@Imem = @@Imem
.
793c
GC.start # g # antei ?
.
786a
@@Loc = LOC
.
782,785d
760,768d
756d
751d
745,746c
# 'pc' == k && case v when Numeric then v == @a.assoc(k)[i] && v = -v end # cp
.
713a
def to_a
@a.map { |v| v.dup}
end

.
636d
596c
GC.start # g # antei ?
.
593c
# fpl = delif_c(1, fpl) { |fb, n| fb.resume}
fpl = delif_c(ts, fpl) { |fb, n| fb.resume}
.
573a
ts = @@ts # + 1
.
561,568c
# idx += 1 unless arf = ckth(th[idx], 2) if mx != idx
### idx += 1 unless (0 < idx ? arf = ckth(th[idx], 2) : ckth(th[idx], 0))

# th[idx] = pl_eg(pc, thl[idx]) if arf ||= ckth(th[idx], 2) # (0 < idx) == arf
## ji_ngq ||= ckth(pl_eg(pc, 'ctr')[0], 0) # sp [sp]
# ji_ngq = ckth(pl_eg(pc, 'ctr')[0], 0) if ! ji_ngq && arf ||= ckth(th[idx], 2) # sp [sp]
# th = th[0 ... idx] if ji_ngq && (arf,! || ckth(th[idx], 2))

if arf ||= ckth(th[idx], 2) # (0 < idx) == arf
th[idx] = pl_eg(pc, thl[idx]) # (0 < idx) == arf
# ji_ngq ||= ckth(pl_eg(pc, 'ctr')[0], 0) # sp [sp]
ji_ngq ||= kt.call # c # sp [sp]
# th = th[0 ... idx] if ji_ngq && arf && ckth(th[idx], 2)
th = th[0 ... idx] if ji_ngq && ckth(th[idx], 2)
end

end
} ##
.
558,559c
idx += 1 unless arf = ckth(th[idx], 2) # mx != idx ?
.
554c
# flg ||= ckth(th[mx], 1)
flg = mx <= idx && ji_ngq
.
551,552c
# if ckth(th[mx], 1) || ji_ngq
# if ckth(th[mx], 1) || ckth(pl_eg(pc, 'ctr'), 0) # sp [sp]
if ckth(th[mx], 1) || kt.call # c # sp [sp]
# unless arf = ckth(th[mx], 2)
# th.each_index { |n| pl_es(pc, [thl[n], th[n]])}
th.each_with_index { |v, n|
# th[0 .. idx].each_index { |n|
pl_es(pc, [thl[n], v])
# break if (mx >= idx || ! ji_ngq)
ji_ngq || break
# break if mx != idx
}
.
545,549c
# th = ((idx = 0) ... thl.size).map { |v| pl_eg(pc, thl[v])}
# th = Array.new(thl.size) { |v| 0 == v ? pl_eg(pc, thl[v]) : []} # t # unwork ( thread ? ) mruby 10410200
th = ((idx = 0) .. thl.hgt).map { |v|
0 == v ? pl_eg(pc, thl[v]) : [] # t
}
# flg = false
ji_ngq = false

kt = -> {ckth(pl_eg(pc, 'ctr')[0], 0)} # l # sp [sp]

Fiber.new { ##
while mx = th.hgt
.
535d
511,514d
473,475c
# def ctr_r
# pl_eg('ctr')
# end
.
459c
i = self.afl(k, ?i) # q
.
441c
self[n] = 0 == n ? @@Plmg.(pl_g(-1), pl) : pl # c
.
438c
@@Plmg = ->(pi, pv) {pi.map { |v| [v[0], pv.shift]}} # l
.
435d
432c
# pl = @@Pldv.(pl) # c
pl.map! { |a| a[1]}
.
425c
# sleep 0; GC.start; sleep 0 # g
.
423c
# @@Pldv = ->(pl) {pl.map { |a| a[1]}} # l
.
385a
## plini
.
337c
def method_missing(*a)
a[0] = ?s << a[0].to_s # q
case a[3]
# when Array then a[3].map{ |v| v.nil? ? v : send(*a[0 .. 2], v)}
when Array
a_ = a[0 .. 2]; return a[3].map{ |v| v.nil? ? v : self.send(*a_, v)} # r
else self.send(*a)
end
end
.
333d
267d
263,264d
260c
# @l__s__send = @@l__s__send
.
239,240d
234,235c
# attr_accessor :l__s__send
# @@l__s__send = :s__send
.
146a
# @@slp = (( NSL_ + ( NSL_ >> 5)) >> 8) + 2 >> 2 # 16+ bit MPU
.
133c
# a[n] && yield(a[n], c + i) && (a.delete_at(n); redo); n += 1
a[n] && yield(a[n], c + i) && (next a.delete_at(n)); n += 1
.
126,129d
33a
# rmth = 63
# rmth = 47
@@rmth = 39
@@ts = 1 # = (@@rmth >> 1) + 1 # = 68060
.
18,19c
# :s__send, :l__s__send,
:ctr_s, :p, :s, :fibt].clear
.



--
YAMAGUTIseisei ( str_h__namae = { :sei => "山口" , :mei => "青星" } )
http://hello.to/seisei/ mailto:seisei@.68..net
heiwa furiisekkusu 1t

YAMAGUTIseisei

unread,
Jul 5, 2020, 8:13:17 AM7/5/20
to
./include/mrbconf.h ( d17506c / not monami-ya.mrb )

43d



./build/mrbgems/mruby-meta-circular-heiretu/mrblib/irep.rb ( both : monami-ya.mrb , d17506c )

44,47c
# ?i != m ? self[m.afl( k, ?i)] : self[0].index(self[0].assoc(k)) # q 2
?i != m ? self[m.afl( k, ?i)] : (s = self[0]).index(s.assoc(k)) # self.index(idx) # q 2
# ?i != m ? self[m.afl( k, ?i)] : loop {(s = self[0]).index(s.assoc(k) && break)} # self.index(idx) # fuguai taisaku # q 2
.
35d



mruby-meta-circular-heiretu/sample/jit-1.rb

1469c
fis[1].resume(0 > fis[0] ? -1 : n) # cp
.
1465,1467c
# ise[i_i_d].reject!.with_index { |fis, n|
# ise[i_i_d].reject_c!(ts) { |fis, n|
ise[i_i_d].delif_c(ts) { |fis, n|
# 0 > fis[0] && n = -1 # cp
.
1452a
# ise[i_i_s].reject_c!(ts) { |pfl, n|
.
1433c
if 0 <= rg.p
.
1422c
rg.p = rg.p.abs
.
1402c
rg.p = -rg.p
.
1399d
1393,1394d
1390c
0 <= rg.p
.
1383,1384c
if pco.pop || 0 <= rg.p
.
1381a
# 0.step(0) { |n|
# ise[i_i_f].delete_at(n) && redo if ise[i_i_f][n] && ise[i_i_f][n].resume(n) && 0 == n

# }

.
1367,1369c
# ise[i_i_s]<< [0 > rg['ctr', 1] ? -rg['pc'] : rg['pc'], rg.to_ra] # p # cp
ise[i_i_s]<< [0 > rg.p ? -pcl : pcl, Rg.new(rg.to_ra)] # p # cp
# ise[i_i_s]<< [0 > rg['ctr', 1] ? -pcl : pcl, rg.ss(po)] # p # cp
.
1351,1352c
# pcf = pfl[0]
# if 0 > pcf
if 0 > pcf = pfl[0]
.
1342d
1330c
if 0 > rg.p
.
1315d
1276c
# cop, sym = rg['cop'], rg['sym']
cop, sym = rg.to_ra('cop', 'sym')
.
1272a
rg['pc', -1] = rg['pc'] + rou.getarg_sbx(cop)
.
1264,1270c
## if !@stack[@sp + getarg_a(cop)] then
# if !stack[rou.getarg_a(cop)]
## @pc = @pc + getarg_sbx(cop)
## pc = pc + lpl.getarg_sbx(cop) - 1
# rg['pc', -1] = rg['pc'] + rou.getarg_sbx(cop)
## next
# end
! stack[rou.getarg_a(cop)] || next
.
1260c
# end
stack[rou.getarg_a(cop)] || next
.
1254,1258c
## if @stack[@sp + getarg_a(cop)] then
# if stack[rou.getarg_a(cop)]
## @pc = @pc + getarg_sbx(cop)
## pc = pc + lpl.getarg_sbx(cop) - 1
# rg['pc', -1] = rg['pc'] + rou.getarg_sbx(cop)
.
1248,1251c
## @pc = @pc + getarg_sbx(cop)
## pc = pc + lpl.getarg_sbx(cop) - 1
# rg['pc', -1] = rg['pc'] + rou.getarg_sbx(cop)
## next
.
1235d
1206,1207c
# ri ||= (true == fb || true == fb.resume && fb = true)
ri ||= true == fb || (true == fb.resume && fb = true)
.
1198d
1196c
# rg = Rg.new(*rg)
.
1093,1118d
1089c
# cop, sym = rg['cop'], rg['sym']
cop, sym = rg.to_ra('cop', 'sym')
.
1079,1080c
# end while [true][thi] # fuantei ? mruby:70410200 monami-ya.mrb:60510200
break if 0 != thi }
.
1075,1076c
# begin # fuantei ? mruby:70410200 monami-ya.mrb:60510200
loop {
.
1068,1073c
# opa = opg.(thi).push('ctr', [sp]) # c
#
# pl.pl_es(pc1, opa)

pl.pl_es(pc1, opg.(thi).push('ctr', [sp])) # c

# pl.ctr_s(pc1) if 0 == thi
#
# (0 != thi && ht <= thi) ? thi = 0 : thi += 1

if 0 == thi
pl.ctr_s(pc1)
elsif ht <= thi
thi = -1
end
thi += 1
.
1047,1057c
# if 'th' == k
# if 0 == oi
# fv = [thl[oi], ta.(fv[oi]), thl[oi + 1], []] # c
# else
# fv = (fv[oi] = ta.(fv[oi]) if oi <= ht = fv.hgt) ? # c
# [thl[oi], fv[oi]] : []
# end
case k
when 'th'
fv = [
-> {[thl[oi], ta.(fv[oi]), thl[oi + 1], []]}, # c
-> {(fv[oi] = ta.(fv[oi]) if oi <= ht = fv.hgt) ? # c
[thl[oi], fv[oi]] : []}
][oi <=> 0].call
# else
else lopa<< k # p
.
1020d
1014d
1001d
996a

1 < m && m = fy.(m, false) # c

.
995a
2 < m && m = fy.(m, false) # c
# [2 < m && m = fy.(m, false)] # c
.
983,984d
980d
959,962c
0 == s.size ? @Slp.slp(0) : plr += lm.( # c
s[sz .. sz + (ap = (ap += ap >> 1) >> 1)]) # + (ap <=> 0)])
# [(s + [nil])[sz .. 1 + sz + ap -= ap >> 2]])
.
947,948c
lm = ->(r1) {r1.nil? ? r1 : imem.send(pr, *isr0, r1, mt)} # l
# lm = ->(r1) {imem.send(pr, *isr0, r1, mt)} # l
# lm = ->(r1) {r1.empty? ? r1 : imem.send(pr, *isr0, r1, mt)} # l
# lm = ->(r1) {[1 < r1.size, r1 = r1[0 .. -2]][0] ?
# imem.send(pr, *isr0, r1, mt) : r1} # l
.
943,944c

# ap = 1 << sz = 3
# ap = ((ap += (ap <<= 1) + (ap <<= 2) + (ap << 2)) >> sz) + 1 >> 1
sz = nil; ap = @@fls_m
.
935d
933a
# sp, sz, isr0, r0, r1, lm, sy = [] # higokan ? mruby 70410200
.
929,930d
925d
916a
# @@fls_w = 4; @@fls_m = (1 << @@fls_w) - 1 - 1
# @@fls_w -= 2
# @@fls_m = ((@@fls_m << @@fls_w) + @@fls_m >> @@fls_w - 1) + 1 >> 1
# @@fls_w = nil

@@fls_m = 1 << @@fls_w = 3; @@fls_m = (
(@@fls_m += (@@fls_m <<= 1) + (@@fls_m <<= 2) + (@@fls_m << 2)) >> @@fls_w
) + 1 >> 1
@@fls_w = nil
.
912,914c
# [pl[lpl.afl('sym', ?i)].to_sym, # q
# r, r.map { |v| lpl.ckth(v, 1)}]
[pl[lpl.afl('sym', ?i)].to_sym, r, r.map { |v| lpl.ckth(v, 1)}] # q
.
901,905c
r = [pl[lpl.afl(thl[0], ?i)]] # q
# r = [pl[lpl.afl(thl[0], ?i)], []] # q # t
# r1 = pl[lpl.afl(thl[1], ?i)] # q
# r[1] = r1 if knid(pl[lpl.afl('ctr', ?i)][0], :Array) && lpl.ckth(r1, 3) # p # q
r[1] = knid(pl[lpl.afl('ctr', ?i)][0], :Array) && # q
lpl.ckth(pl[lpl.afl(thl[1], ?i)], 3) ? # q
pl[lpl.afl(thl[1], ?i)] : [] # q # t

.
879d
872c
# 3080410200 : 5x2 ok ( gc ) : monami-ya.mrb 8270410200 813e2af8 # www.monami-ya.jp
.
866d
847a
@rmt = wkth
.
843,845d
832,837d
812d
785,787c
# def pg
# @p
# end
.
781,783c
# def ps(i)
# @p = i
# end
.
746,755d
742,743c
def to_ra(*a)
if a.empty?
@a.map { |v| v.dup}
else
a.map { |v| self[v]}
end
.
719a
attr_accessor :p

.
621d
594,595c
sl.slp 0
Fiber.yield(flg || mx < thi)

# th[idx] = pl_eg(pc, thl[idx]) if mx >= idx && ckth(th[idx], 2)
ckth(th[idx], 2) && th[idx] = pl_eg(pc, thl[idx])

# th[idx] = s_id(th[idx], pc - 1) if mx >= idx
## if ckth(th[mx], 1) || ji_ngq
## if ckth(th[mx], 1) || ckth(pl_eg(pc, 'ctr'), 0) # sp [sp]
# if ckth(th[mx], 1) || kt.call # c # sp [sp]
## unless arf = ckth(th[mx], 2)
## th.each_index { |n| pl_es(pc, [thl[n], th[n]])}
# th.each_with_index { |v, n|
## th[0 .. idx].each_index { |n|
# pl_es(pc, [thl[n], v])
## break if (mx >= idx || ! ji_ngq)
# ji_ngq || break
## break if mx != idx
# }
## flg = true ##
## flg ||= ckth(th[mx], 1)
# flg = mx <= idx && ji_ngq
# end
# sl.slp 0
# Fiber.yield(flg && idx >= mx) ##
# idx += 1 unless arf = ckth(th[idx], 2) # mx != idx ? # ! kara ary
## idx += 1 unless arf = mx == idx ? arf : ckth(th[idx], 2) # mx != idx ?
## idx += 1 unless arf = ckth(th[idx], 2) if mx != idx # mx != idx ?
#### idx += 1 unless (0 < idx ? arf = ckth(th[idx], 2) : ckth(th[idx], 0)) # && mx > idx # mx != idx ? # ! kara ary
## th[idx] = pl_eg(pc, thl[idx]) if arf ||= ckth(th[idx], 2) # kara ary # (0 < idx) == arf
### ji_ngq = ckth(pl_eg(pc, 'ctr'), 0) if ! ji_ngq # sp [sp]
### ji_ngq ||= ckth(pl_eg(pc, 'ctr')[0], 0) # sp [sp]
## ji_ngq = ckth(pl_eg(pc, 'ctr')[0], 0) if ! ji_ngq && arf ||= ckth(th[idx], 2) # sp [sp]
## th = th[0 ... idx] if ji_ngq && (arf.! || ckth(th[idx], 2)) # kara ary de nai nara kara ary kakunin
#
# if arf ||= ckth(th[idx], 2) # kara ary # (0 < idx) == arf
# th[idx] = pl_eg(pc, thl[idx]) # kara ary # (0 < idx) == arf
## ji_ngq ||= ckth(pl_eg(pc, 'ctr'), 0) # sp [sp]
## ji_ngq ||= ckth(pl_eg(pc, 'ctr')[0], 0) # sp [sp]
# ji_ngq ||= kt.call # c # sp [sp]
# th = th[0 ... idx] if ji_ngq && ckth(th[idx], 2) # kara ary de nai nara kara ary kakunin
# end

} ##
}
.
574,591c

# if (ji_ngq ||= kt.call) || ckth(th[idx], 1) # ) && mx >= idx
if ckth(th[idx], 1) # && mx >= idx
if ji_ngq ||= kt.call
# idx > mx && idx = mx
thi.step(idx) { |n| pl_es(pc, [thl[n], th[n]])}
thi = idx + 1
end
idx += 1 if mx > idx
.
556,572c
# while mx = th.hgt # saizu henkou ari
loop {

if 0 < idx && ji_ngq ||= kt.call && ckth(th[idx], 2)
idx -= 1
flg = true
else
# th[idx] = s_id(th[idx], pc - 1) # if mx >= idx # && ckth(th[idx], 3)
th[idx], t = s_id(th[idx], pc - 1) # if mx >= idx # && ckth(th[idx], 3)
.
551a
thi = 0
mx = th.hgt
.
550c
# th = (th = pl_g(pc)
## [th[self.afl(thl[0], ?i)], th[self.afl(thl[1], ?i)]])
# [th[idx = self.afl(thl[0], ?i)], th[idx + 1]])

.
536c
# self.send(*a) || a[1]
[self.send(*a) || a[1], nil]
.
530c
## return a[0] if 0 >= a.hgt
return [a[0], nil] if 0 >= a.hgt
.
524c
# (TB.dup == a || case a when Array then 0 >= a.hgt end) && (return a)
(TB.dup == a || knid(a, :Array).!) && (return a)
.
464,465c
# i_k = self.afl(k, ?i) # q
# i_k = loop {self.afl(k, ?i) && break} # q # fuguai taisaku
# 'ctr' == k && knid(v, :Array).! ? pl[i_k]<< v : pl[i_k] = v # p
# 'ctr' == k && case v when Array then true end.! ? pl[i_k]<< v : pl[i_k] = v # p # higokan ? mruby 70410200
# pl[i_k] = 'ctr' == k && ! knid(v, :Array) ? pl[i_k] + [v] : v # p
# pl[i_k] = 'ctr' == k && ! knid(v, :Array) ? pl[i_k]<< v : v # p
## pl[i_k].send(('ctr' == k && ! knid(v, :Array) ? '<<' : '='), v) # p
## pl[i_k].send(('ctr' == k && ! knid(v, :Array) ? '<<' : 'replace'), v) # p
# pl[i_k = self.afl(k, ?i)] += [v] # q # ?
# pl[i_k] = (pl[i_k]<< v).send('ctr' == k && knid(v, :Array).! ? 'itself' : 'pop') # p # .itself higokan monami-ya.mrb:60510200 mruby:70410200
# pl[i_k] = (pl[i_k]<< v)['ctr' == k && knid(v, :Array).! ? 0 .. -1 : -1] # p # ?
# pl[i_k = self.afl(k, ?i)] =
# (pl[i_k]<< v)['ctr' == k && knid(v, :Array).! ? 0 .. -1 : -1] # p # ?
['ctr' == k, k = self.afl(k, ?i)][0] && # q
knid(v, :Array).! ?
# case v when Array then true end.! ? # higokan ? mruby 70410200
pl[k]<< v : pl[k] = v # p
.
437d
384a

.
338,339c
# a_ = a[0 .. 2]; return a[3].map{ |v| v.nil? ? v : self.send(*a_, v)} # r
a_ = a[0 .. 2]; return a[3].map{ |v| v.nil? ? v : send(*a_, v)} # r
# else self.send(*a)
else send(*a)
.
336d
330,331c
# def s__r1_eq_sr01(*a) a[0][ a[2]] ==
# a[0][ a[1] + 1] end
def s__r1_eq_sr01(*a) a[0][ a[1] + 1] ==
a[0][ a[2]] end
.
259,261c
# def initialize
# end
.
236,238d
158c
# (r - 1).times {sleep 0}; r.times {sleep t} # antei ?
.
155c
# (r - 1).times {sleep 0}; GC.start; r.times {sleep t} # g # fuantei ( keisan gosa ) ?
.
133d
123c
# def delif_c(i, a = nil)
def delif_c(i = @@ts, a = nil)
.
98c
# def +(i = 1)
def +(i = 0)
.
3,4d



--
YAMAGUTIseisei ( str_h__namae = { :sei => "山口" , :mei => "青星" } )
http://hello.to/seisei/ mailto:seisei@.68..net tel:081-70-5152-1104
祝 Softbank-PHS 展開期間延長



# mruby-process/src/process.c
#
# 357a
# mrb_define_method(mrb, mrb->kernel_module, "usleep", mrb_ker_usleep, MRB_ARGS_REQ(1)); // kimushu/mruby-sleep
# // mrb_define_method(mrb, mrb->kernel_module, "msleep", mrb_ker_msleep, MRB_ARGS_REQ(1)); // kimushu/mruby-sleep
# .
# 191a
#
# static mrb_value
# mrb_ker_usleep(mrb_state *mrb, mrb_value self) // kimushu/mruby-sleep
# {
# mrb_int usecs;
# mrb_get_args(mrb, "i", &usecs);
# usleep(usecs);
# return mrb_nil_value();
# }
#
# /*
# static mrb_value
# mrb_ker_msleep(mrb_state *mrb, mrb_value self) // kimushu/mruby-sleep usleep yobi
# {
# mrb_int msecs;
# mrb_get_args(mrb, "i", &msecs);
#
# // for (; msecs > 0; --msecs) {
# // usleep(1000);
# // }
# // return mrb_nil_value();
# // IIJ , Tomoyuki Sahara , YAMAGUTIseisei
# time_t beg; // , end;
# struct timeval tv;
#
# beg = time(0);
# tv.tv_sec = 0; // fuyou ?
# tv.tv_usec = msecs;
# if (0 > select(0, 0, 0, 0, &tv)) mrb_sys_fail(mrb,
# "mrb_ker_msleep failed"
# // "mrb_f_msleep failed"
# );
# return mrb_fixnum_value(time(0) - beg); // float ?
# }
# */
#
# .

<-> matsumotory/mruby-sleep # bamchoh/mruby-sleep

YAMAGUTIseisei

unread,
Jul 12, 2020, 11:04:29 AM7/12/20
to
aish -o - sj.txt | 7z x -si # http://archive.online-convert.com/# OSX/PPC : 7za in 7zX
<<< 20200705.7z 14369 byte (sjis) [209 lines] aish 1.12 >>>
!!3*![9Q!5"XRojH;[3ze8=gIo$bP%$m[?E0RS!$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'\LT
%æÏš¤ËÐnC9wfE߶@x@@@@bÍ@B@@@@@@5-æiÄŽÛ)çpO1Y­WŽQWTUH:@Ëpc<žªZAÅ7“c¿®ÞYMåZ®•Êݽ
&'”]Z]b¥3’€•heqA èãmdÔkŸ¡¨l8ã㊢ß/Þ±½9¸«§½{®¢éØq´z‹YŸ´•²_¹ž±-µÎNOÌP[ä¢æ³aÒZQDt
'd+DÓɛ푡r4b¤ä¢W@¦g_¢RFÓsSÚ4Lº–ÙHÒÚ^c1¹½}¥›nécq5a\xkEclÈŽ­0Ï;}—•Ä® ¥H-âô~ßÈÅY
)µP¦;¦ ­p}½ÔÔÎpA:‹¶¸¥ÜŸ¨Y~¶ÅÉuÎhSÖ—¿×ŸæI¦}ÅP»0Œ]CÎÁȯ©Ãs–”wÛ5Rß-ѾB¬,c ñ¸ÀåxÖN
+œ¡l•Fu n4TÄÜB®Õ>RŽ¢5D8mÅ«¥¢IN–b@iÒ¥ŽÇšÙ¦i0ÌŸ}Š»ªÆ° ‚¨GtK4|Îß4½ÍD>C®ÍfȪVWr1¿Ô
,ÏÍÔ–™ÜyÛÍBG©Œñ{H‰÷™ßf³­’HGË2IuÖe0;GÎÜ“ŒÓ¸[©Í¾ÂÇ~kv<ræ¢YÊZÁÝXvA—¢ Ïi¨›õ(nz¼©p(
?ARPr“¼¾?¯=“ä*¡]ÛRdæjŒÐVJ‹–A;xÅzk¾Ím::rœÓ¤'}Â7Îp¡3-ÆÇ'@[-¦¿¡P£³°É gCUkÔ/ÞFMÚÌ]
/}o7«érãZ­Œ«×Q­05£Ì'n¢xxQ¿Ö*/“ÊHÙŠÚª–bW0kÐo{-[ãoB2<BÇ<)¸3–‰6’Fœw)e°Æ¢fK©ÑÕŒx‹V
2Çå@yƼ—ºå@C ·O°Kn¹IS1¸±(^GNÁÁ™•:—°~_¬sÈNue7/Ä|˵µÛ”K[^(ßuFvÍéÊHWÔmadž[§²HL§y¨
4¦œéÛçT«,¹ÞcfY2Xdr¶,¤ÀeÜ–©] ][YdŸDãrMªBt lW–o´sÄ´È[ÅGS2-mgecÉʪÕÝ=~r¨C~ÉÈZW«à¿
5R£rWªæðŸz’“q”‡iÄ4J¼¥g²RÝ<Q’yŠ‘ÛR ¯æ›’Όצª‰µ¼yA”i ~+Ù¢5£=ÅPŽmZ'e‹®5È—³­¨É<^±B
6Q>¢±]ÅÆph- ̲¶I:Ó+Ï’­±:¿PEm³É?ãêß*8xÞ4 óR@}gœ€Ð»¢bG¶F_ièÍÜÊ‘Á äl¾ç›–ÀÙŸÊœAÜvß
7TLŸdt‰Emq½~PÒ¸ èÚaª²žW›’}e蹛ߚ‚ØáXc_ºÇ>³¶ÂnJLÚTIMR¿£AN¤ ©ÚccÍŠÄ~Lyç½ãÍf™¼<°
8·­}9nGCi¹­¥ça384¶ÑÅzØ.Dm:¨Â:É©Ú*yÓ:š¨Ø++3¶v2S’¶Ä h|\5ÅæäçÂ~O v|_ÅŽö]·žj@:<¨Y±
9T–’^f°Ï”æ¸Ç}²³»Z¶d4w~<G0¨â·½×?<C2¹’b—¬ÉıԖÒ{<µ=Xs ²¡9žÃÝ/(ŸŽÀÔ™@ÀbRªºG<@×x¼m
:GŠ¸)NQ+[Èx²LpGںȮ]=–u Ò±xBÄÂaF{Ï2âáe½+[‰…AÔé‚èÃ)y¬^Þ+3¨åݳ^_2'Ðg*áCÖŠÛÓ ³aay
;Rå³»¸ÜlYžR{¯Ü‰YÊ9/Í ìŒÐcŠó Ç1b¥§JϽmž‹—Bf|²+=Çq1Ží~Ki–\ËÛB‘aqtÔ\,Q¾P-©×¥”ƒÏys
<æe'to6wÇ9'ºiÚV2×’~¡IÛÖÇYWIG¼UÍâÔzãÅ«äÔMZA¬Ž¸»Æ¨~Š”Ù‰óŸìLp½r/ ÌGGÙŒc³ Ã7X’èIÑ
=Ù”É5Z¨UÛQ£QxÅ ÝÙRÝ«¤àÓ¯µÞw¨P‰’^ÝáÓ®;‹ÆÒ¼å°É©Ä\œ”’ßµJÊÛb<d«ÖsÏqbRFZÞcÚ; ‘Ï‘l¾¦
>JÉF¿/=aAæ‹c|”F›DšŸAàŽÑ½{|ŒU~¢¹ÓdH>žÕ½Â½Í½9Äxz¼wrZÜ\QBv2 Hq­’œ:ŠŸVái~0ÏÇbÜžC¯Ù
ATTHÃqgæÅ›æ¬àEª.E·0—Ê’–Ì|“«-sµ•yÊ¡TâÌ,Òc+Q¤[Õ\d‰¦YÆááF2,Ò©èÍÜ4¶»PHâCàƒkzm×QNnÊ
BdaS”»‘îJt6BvsœßÞ@zµæÀŒ ¦\¯l™ ħËÚ§/Qd5kÙr°–ÑÖbÐØ9mlPHZ¼-¼ÔWiY®ÁÖ[œ“95”uÇ”RQÉl
C;Fà› DX¬}šxgG|y•\zWo5*Šy ߶ÔÖ/FdÜo¸5<'àW—y3)³DáOUC,¦¼w´–ul´YÈGŸq¿Å–÷¦L¢aiAfR¥
Dà}³Õ Œ½œ¡ÎW‰KO°d_à ÝåI—›¾3—š–gäpkè›.el7Á¾m6SÆà£5Vc¦ }/u;C3bxe[ÍÇÖhÖ^‹‡Ý±èSTµ'
E6y‰l •Úa1Z9vŒy+u·ÇLµ]ä bWy(Çaeº é.v n0|Õ7çæ2²âdÁ¾+ÇÑljTÔn<+Ë{¿WáDC'JIš£±:j5’y
F¥<|HàÑ©n8½±Yçßã¶ÝPa7=+™–Ÿt¹G»šß´¼;3VQ’B F6px^rUsŠ©KOÈ×u>ØsáÅ\~t³³NNËÅP¸sÒ¤f\V
G ŠR§å…“™DiHå ÎEÕŸ\¸8‰z°\ÔßGéÀÉ–xŒ¤¨ÛP·”Ø)Cb’ãßß ›¡ÝnÊ.´FØuQx¼¢[X›f²CÂSVbg+n°k
HSRc¨SoÌÄF¬Œå“_3^{¾Ã–Å?uæÚN¸ÙªÅÂziuU3°+YQ0 ФBÓmÀbv2¹ÚTªN¾fš˜|nÁâÙ ÀU5Ñ’Ï΢¯p©
I ÕtÞlŒê’ìsŒ~eLc¦ÚÔFTÎ-9VD‹¹=m+§àe-]mÎOB º>‰ÒFDvIÀ Œ¼+g¹WËmLŒw¬M@T¥Ì´¯.ŸiQGSTÉ
KdZÂbFC§äƒKK_Ê͸ £IO¶1rZqÇÁWÎ’í‘Ÿ–…}æ{@Fg³R.3nlÛEyºÅQ ž’î.‘‹^»ž••ØL«Óc Ò;>@b•‡
L':•³¯\N2Â)¬~ÔÑ{1“®‘èæã0,JÐZä“j8ØŸm;èØ+_æ„g”PàqÕŽÂvµªmÔ/ßFKlj”ÁH ‰<ÅÁÞHÊA1 ÍRb
N·ÅR•À|Úv·èS» –Šf/3)ÝãoIhÕ\¡[Ì©ÉÖM‹¸4h/¹Ñ’ƒB)=4+[È‘ãeQwe¬ÏQoLµ£´±›Ñt¾ZQbµ]È·GÀ
Oº¡E\—×Ii­´×¶F®èŽÍÛzĵ–_ZŸ¹”ÉV*:ßίd“¥šâG2¥)pÌ-t‰Yeš•Ê Ó_:¬9· ¾D®<s¸_ Å4Á–šãvS
Rj¡Í Ui©£CŒˆºb³5ÓábÔ'¼-5Ô.ÎÒZxÁ®³±Ã0¦Nwz'hSƽͯOEÄv=m´ÎÜž¬ŒºhYO—¦6–~”©Í[¸+ Ÿ›
TOJ:N0Óp}°;vÁ çÍ|wÕ^¤ÝOL–T±ßMmÊh:ylÀÍ–mÈk ¶m¹Ö¢—²È*O³­lÏ­/eSV9×9.çC:Û¯|Æ-yiaÀ
UB4Xº-J¿ÓpeDákÂz^y7ÛZåg´?r¯fRyr5ps畯6·8ooÇÞéARc­ àœÛÑQuk9>À²râДƒ/z¡Ï®Í[КAÔ@
V³½PUÝš´g'Ï,­W+æKF?ÂÐQŸO¼1gjEÙÌlco¾Ù\ൔuŸFÒD(ÄÆCLc•ß'hFuF­Y>žŠÇ ò:^å >ž«eQ|—l
WZéÒÔÓV¦´¿D2¹Œ¤@sÈY7 ªºA[u4Ì©Æi D6­¡YFœÜy+´­\¢¥Æ9~bM<J8ØÁçiŠg;¶¬ßA›ºP8¢(ÖR?bx¢
Xe:}pRÒWæÓiv‰zs–ÐŒ 1¼]á–”Ñ;ᙜsŸ´_ÂcØYª8—¨2ÎYBŸ ¸ÒfÁÀÜFs@趪ٕìwšÜ{ÊÓ­S]r¾—ÒAÍ
Y½XÉÜ7>@mGŒÎwÕmÊ Ø“B6ÀÌÚÆu[ØÜ‹§ÉœÛW ˜É•m³/(­‘ÓSÚvD©Mu,Û [:À“Òu™î¿M<Zªg™ÞÀk¾•Q´
Zç×|l¬ßL‘˜vŠMGi®BCšÄ=4ÊB)*UÕÐÔåTkÞ;¼Ã³Õ^Ï|0¢7{Î;¿–§“æÖœ†7hžÏud•M•ã~j4”䮯A €‹£
[hÓ¦ŽÒaX6rF+O[.¸h8½*ÒçÉÛY ¬ ”|šÒ_ŠsRŒ ©§á†’Š™Çº•½Â®¶CsÄDu£©ŽÓ-0°¬®¤º²®e:Œô½àuj
\ä㢫¬ Ëz™…jo0-~ ®ªO:29—I弦ÜÏŽê-RæòŠ€´¨H94 20ÎÜSÕ.Ó³Y¤¯f\ çt¶9ÈäJ1”S)¨éz‰zvh
];ß¼ÜjtÁ«‘e¬e VŽ˜GwSÞqßg]Jsé‰yZux+®ÍÃÀÜ–i½±ÒžjÅÞÊ«àÛ¹Œ½™G‹x•c«ÒÒt'zÛ¥ßZË/©¥rQ^
^ mµáØÔÞ8~Ùå°¯ÖÄ¢j¦ZD|'UŒ³‘wVÉÈäžOd®5ž|ÛÓ£ªŠ‹™µŽQºÇ¨Ô.™cs~Ä®âÊ(o›ÞiYÑBU<ª0ÍÌÞn
aBÉšéx‹t«)éíUOX:5væ—o¹|ÁÁfdM MºzÌ’Ú¢ãM¦»¯¾q”§TÂlWŲdGiéô{W ¸m\ÏÙI¥eÀÛ¶UHf,0ç}
b9VV¬-‰@ÅBzWÀË=ÂÓEaYÂèßuÔ’¨v ƒÖapiknçö¡°C¨¶©Õè¼B¼4¤Ü³à–Kp ໺pV°À›¦ÀÿtÁ-ÒŽK+E
c‘í'äS2¼éRÚ^×'6fÌk—³ä =«<Ò-s;ÝGIl×¾·ÞwƉZ(›i29.MwMÂÃ~OL’îs7.´Q¬Iº·|~Mkq+”˜ÓLHÓ
dS絿Þ-²æ’•ŽŽo\[¨A׉ D¢Dy CW/D³™Œt_¹ÜÚ}z¾lÃ29p“¼B,N¬]ÍbV¤TE3ÃÒ ´jÒ½LAÊŽ´PÃŽ¨ÑÔ
eÛ@qU¶^¸È¼]¼¨~cCTZ~QÚF W«G›tØ壹HÒÌA*—¸G/• ÉÕØÕ•«Û}¤ž¢Gz®·ª)gh8bÀeo«qOe|Ò tH¼
f::§i¼/É°h¢´CAA~d¯lUunÖW¸9·n’cÐÉH1¦l§ÒÎÁQR­v×J¡–ÚE{3ÇÌ‹ÈÌx¾·ZPfœß—­Dblл@-MÝL
g{HtÐ6CÄš¢6U­æA¥™½sI¯¢PSÄ6yž´8ÀuÄÝÔ4sÉIÇqymÉÒ¨Â[±:KvLÔÍ6BªopM´E—»ÃœØ~{X¶´­á½TK
hâï_¹Œ—ÈÕl¯¢XAºÈ?+ˬ:­·Õ\•Œ¿^7EÕn”°­Xx¼Á­¼žg |äØ ÙàEžP–LÎA@{äÝ´*ukeKÖm¢—M•hÓÌA
iÚ–ˆL–ò’{ªœ‚7W~gfʯN<‘x¨§@rÖ séœÐÀ/3~Ò÷Kj´«£ÜJPж<kyv¡|«cßhO»jzÇØqÒÀ{ÏÛÄUN]×E
jÔå¸éÊ'vä@ÚuVš ÔŸq±è¾e|D”‘AáŶÉw¨ÏÕ0ªMh6dDI n¥O¯L¿Ÿm=EͨCRr\lZ”¿ç\bR»ÔÄ|{Q•_lÂ
kÄ©Ù¡Š•L—D ”x| ‹è•8Œ¨zE^’L|.'h»Øk¨/}–AÆÉ,FàNÌvY®’ß3½â‘À½2u¿n<A‘†0Ï踑‰t¸MV¦5ØÎ
l“‚rÎÉ®lÖÉáC§áæ~ÃP¾Ó›Á| í=,ÉÝ´Ÿ°E9¶¬ÊÛjo.(h¼hFPpqdG²~‘ÃÆ]žç\›Ê~]5Þt©Íæ’ÔÏy¨Zþ
m~eÀÜ{[j“Ä\Ê¢<+8-‘Øß³Cç›’ŠÙv]Ep®mÆt1¿Ä4eržd=OnJÓB²+'—•¼šu¾Ý\­¨1¡vHf.Å––ÚÑ\él(Ô
n:žIËÊÂ3”xdl™ÚµÄ•f?D¹EŸJ‰¯H· ¨InnØ8Ø|®žËc[|+Ï—¡K§g›×ŽÇ) b棳'È?«TeIJÇÍ°Tš„¯q\q
pac ¨¾¨£@¨UP››N£ßRæò›Òs¤«²EÔaV¨¬PjJzS¶ÇXm´Ý<qÞH¶åãVZÒ<iqTV]áhåêÜ‘Î5R¼¾Â7±dtG(
q´>bœ©r²ÓäSP–A›Jæœç®çÃDSâavu¯9Ê K.ªE»×-W.´µ¡9É7¡XºP~~ ôuά4¸f\LÎDâÎ9L¿çw?ºwãU©
r¶ç™œsߟãS,²3CØèÙÉ:µcvhS:¦vzÕG0Ê8æ“£¬Ã4*0BŽXR¤¾/iv2š¢¬±5ÓÂuwàm¾,C ž´ÄgAEOz7ɶ¡
s9/Ç®°r\?àÇäzÑ8èÐàm¥ÜvŠ¬CišÜPŒ¶w¨NŸÃXqÜ —š½ŸŸŸ·,>ÇeܤQz–©¡jhqyq6åðSiXÀlÖÖÝ»VÝz
t´”Û|ÞrYšLŸãÈÓ–Â×ÈÑK“NÑ–@Äh™ôÍZE²¦m–d~tE‹©ed<—̹bç} ™-ž|;B‰_ÏÆ8[*“¤^ÁW17¥L½^«·
u=¹çÇ*¾ŒË/Ï™Z×S–ÇFÒ+ofÞ¥W¥fœ¤[mX7¦M*g‹Ý-èƒ0.ÔRk‹ÓA¬ÖÞl“ G AEÎ:C]fK((©­VPšN>¿ŒÀ
vÔZj×ÅX§-©C|tcØqjwß+Ê|Qé›oÖ·åYe·ÛÖK,¼ªd¡çÞ=¹Xkç¼_ÆÎbåL ‘”V­‘Û{P</Œ‹Z²y‰^76i=–ˆ
xÛÇ¡¨x5 d^ ɧɲ5É—¶¼­§-šËN+ÈG ½¥Rs}'{*1ä RØ7>ä†Ï*/vÃØÕ-\-¾]M\ŽfÔoWk+™GM¦F°Lh´­
y×Bq}xÁm¥œßmÔe’u2–Ãåv·87/ǽØzÜ_}q É:ÓÓATXÚÞKjÊâ{ã<‹hÌ™‰È CR¿œFW¦escŸ¦²ÌkÂçÍbÐ
z o¯5¬À—ž¶´×«¡¡M—d*N¾‹²Ê³¨/—Ôãžda¼V¿ŠF(À¯ ­{­WÞä´W/ ˜‰­ËK«aÀÔ4(ŠRÉf½à^jqgŽ«°^s
|ª³5Dm³°rv 32‘¯—ÀW JD¿DÑ|\²pTlæå.¤'aÿ*‘ÊÍ2qWèE’^¶xϸOPD ˆÚXf_Æ(Ë4g¶Ò—SÆ›eWâ¢
%*)Åm¸\RtŽmÐzéaâDÌçßW¥-ÑÍ8^K>)šSsQØO ž;/cWn³{Cä…PrV4:Ï-{¿Å+sªº.Ï/Bn¯ÀJ|ßÈØ9¾¢¸
&°åQ§0ª©–›N@¦ÙåDbTHÉŠoC¸Õ¡¯³åZ¬^CsOvAD­_áŠnC}~HkéÝÔEºÅT±E6>¢]¦Î\çõ§UpÌSÛ+th­žN
'-k@JXÁß™¡¡ºiIz­T½?;?ͧ+žót]œó¤s ›Noz Y¿¢D±Æ)Ø'ŒðÔ>]S:Î:jJçß-Œä–á›|NkwÁÌœd6ÐNY
)7N‘ç~PŽ«³åš™Ä/j­Ó+ML¶+9TÀJÕ×lÕÐÙLP,:–]¶fJ=–²I2xp=ªGU26ViMZ]7²Ï5¦¥MN'°PªÇ*¡73)
+œ¡™wNqžf¸¦m¹©ÊdÎœöÇh( ÒJ{ÊÉ.oŒÙãꌑæC:v{¬¥W¶¡Â'Žïé 5»ÂXA@“|bй'À±Ñg¹Ô6t2Æ)<S-
,§ZÔ9×®×㜱X“b0¤rpÌx²­4¥¬ßZdX;ÒšŸY¸+JÉã¶áÕž§M*Z ³} AçÂÓåø­Y”IœÇ¼wÌt¢ØeÞ o£¼éÂÐ
?TÇÝ9{¸£VwâžCŽqâã×Í ]ºL ´iµ0rl'ªveb¼UZÅy7xb‰è–…Â6Ùo'BÃ6—̨݉-s:è¢6FUG¶Gv.]5·—†
/ŽË©Î•Á·p¯qtÍ+^Ͷ¾ÀäˆzÙµäM×·É×l~ÐB¶Ç@E8Ý>¬qGʶ¤–}ãØy;±àzhà’ØÈ7ÇŒ¿ |^ßd±š”Ö•_¢§
2S׬®R´¹Ý¸5µÊåëYT)JVœî¤’ÛGÚU:{wŒ¬v5gÅU¡¡P*çÍääML)k¸Ì*ÆC<_Œ”'Ë\Òfáð@e¢wÔXaTŠB”™
4©'ÅÚz©ÕEN:´­ÆÀŽRYúgFW’PqÇQ” å¾qØŒŸ5­xÛZÚ•±Æ¶ÌæÄÕ(Ï*ೞz®ÐtxiÈÍ{œÚC| ÉŠ¢Œ”}uÜ
5çVTÁCÜEŸxÓÏ¿Œ•R²¯¢¡j±¬D?^È‘Ÿ,³Í³GµH¿u•É+”G¯Öe¸Ä\Ù<wTuK¡m«E3H¨»Æ¯ÌÝÅÈXvfÐ\̨2¸
6-åkµEMF¿“çâÏ~\; ›hkŠ«ÑŽ¡¨ÔÝu:ÃGÆЪÁ_ŸÖuÜ¢uC”U|ºç˜}À41p™˜±–µN¤xgC ©aÎrHk;æ©ŠµL
7Çž“§j?Þ\•öØÖ«Žžw]~ËÆp]ÒJÙpÈU7¨pl[«0³~T”aGV™´U㟣k|Iä 9v8¥M9¦Õå­A \<Û•‰@3Ó7»Ða
8¼k¹ “Zèã7C¦™n½æUzÈÙA’ÚO”¡lvµQ›´^0‹”Õ/1œz}ss¼3éª+QzÀåÂÂvçðÑŸÖÙbIO—cLªO[ᇓcy)¬
9b-jD¾z_4žzž é™ÀQ–ê¨×Ât';JQXɶG¼ÊzŸÏAÉP';¿kAV‹“}‰ŠŽoØXZàrWÍ×Ï3jÅc¿*æX+64™‘m3—_
:‹¹1Iœ¿¿å¿ÆŒ‹w–\¤²žãÉp)än²WdåƒÏ’ŒŒ‰9U“|ËtV m·Ê iÝsA*¥¥è„žvÛ9¶pÐ-¦ÝÌkÁ¯“ó8 @䀿
;¶±·3Ç°§ßpèì[â­ureÎWY]YÏ®Œ~V;OœŸbÓµÓì§4UVßÕG¸*XRPŽÌ>‘lWa~Ö,Æ\°ÄiÀHСâK*^qº~æ³
<Ô¥sØx>ä•p¼¶nr/ÖŽ¯Ó¤¡–¼@ªt¼åX «å¥‹u xbÂÄk[]lÎ ÖàBcC ’5aÒ}U¨DVp.ß|™ZX3­,[é‹ËÖ,t
=(-ÐÒÈFÀ\rË¡ÑÎfµáŸK™Óâ–|½Ô|Æ?'ºÇkf¨À.º£lU²¦©Ä³±“õ4¨iSÈÍáÚ2¥HZÈ?μUT¨)¶âguWl¿r,
>’ÅlÇ´ÃI·›r(žg¹eHÙwmHe³¦Ùtz6®w‹{,Ì>­^5À‘ŒÃJ{(4|’p¬53l.âa2¸)À|/0µÔ¼Æp{‰ÐvFÎd^bC
A®XA:GQ™á½º’©ªl*´YŽºÈŤlf3ƦSÏ©séºpãÛΖ—HI±6³ãñ¦Àš…¯ÂŠŽ_•²B;K»Ù fB¡«Œ¾™j“Õ‘‹8y
B™½‹CNYxKÉ£rŸD¯ŠS_‘ªÖ䘾¿9-,)=B¸FL4(ézes‰¬¤eÓŽôF+àWᘠޜ »‹w¢­yt«¾Â‹ð]1Q[gŸfÔ\
CÅÅ¿lšÓὌp@e².ÝCÉÊÈ¥7Dá¢9ðˉTÁÅ™¶Z F‘Í(¤–ß ¶¸ÃWq¢cål‹˜š…׎N¿Þ´Ùäoeà¾Ù\^­Áµ*y
D¤@·8QÉuRȵÛÚJ@-Nx?/ÁPEÞ _1¢E­;¤R}^رZås׫\tŒC ‹Èµ/2Ô|aÚ,å_¯~u“°e¦®Õ9150*SIfi
Eu­NÔaI©É¶ZŽW~z™ËTÉwªY=3šç»KÒžog|/iäÞhų)Ì> bÇ\l×nÏÉÜÈÅÚMyÆ0Y™³l8¥ÈŠä~\©Åäz‹ÀÚ
FÝåDà™SàÊSܩ奎¦·T4:é µlSjÜç¥\l7ŸiW1§µ•ÍC yÆnß¾µ¥Ö¥/q^ÐMäQÍÏCePIÓ¼B2ÛÚB®H;½c´m
GÊ/U¤¤lÆ-’âyf¾‹gç€=´±èW0ÚŒP¢”o¹¬5HTâðÔr2iiN@¥hß[3Îå¾ a¤• ÅŸD-)q²Î/m¶¹ÚJx5‰ ßw¼
H_:Ò”}»=é•Ë›aEÍv}Ï'´àJPkÝg Šº« d¡3XÙ>ËäØ-ÀÙÐV£’jŸÚ ɰɼFÛÖ|[;=(1£J9žÐDk©šl=wµ©
Iä×Ézrj|ŠsÏ A¯Ë^ „ÀÆ|[´Z¿ãËvw¼°ËÔ¢³ºÇ™ºE»;yWÑÉ׫“†Y/‹©´j»»”€Ž¾Ä—@ãµO¯– (0)¿³’¯
KÀLRcVµsÚGKË(BåîßVàòxÛ­áÖTr3vm¡»t¿ŠC JÔ74J·åªåºeèÌÎÑŠ·‰g]6Ù×rÞ.fØi•S.CÝä–NŽä/l
Lrɸ¶+èK?.Hµ4 BE¾ßÑ»>ËMo9v1->Ô à¼d¯ÆHj i©)aEn—ïi‰B™Åá|dÏä±—–¼àÒ°_§ÔhãGÙ­‰}¼PxÉ
N78›Ó۵Ҕ᪩C°£ ” ‘ŸhdÔr¸B[k’Ë¡,]=J¨¤zg5X7åîÛ›¡sd§:§´Ä´gâ kÏÒÅ]9q6–hÐv±Se§8Ï'­
OM”¹K ïhqŸ”èÜÍdm~•Mß)=C/éG¸Î29~à¢e-\ ö6¶Ò8o])Ò(Ï/ÒœÁÂPºÛP(j,©çÍ¥@i—þ³d4¹e(žuD
R­Ë0èR3ØÊHXT¶'3—Yá´V5^»Ñ¥<kÕJ¤ªbAFKiÖãgP}wUp,+ÑEDÔ¤¢1bd™Hèå7›¿l“DT·éñfYÝC©¤Ä»l
T8¡±µ8½2CkÔ¼fW|cQa>YØNÌŠyŒÈÕhÔ½²·Å{0¯+JÛzÁOVÊt ˆŽ¿¡¡¶rG”rdÝÕÍ©ªvH1 ôm¥LyGqWÕÊ¥
Ugá½[À:pÒÆbh2©±ÊSaÏ© ð–Õ4ÒKs¹8wÂG^a½¨\cj«_¬Ø¯Ú8RQ½Q ´X¡Ë™RsÍlåK5¤.±[am^MSÞ73vÛ
Vfšêr{Üá³3.eh ‘4È—ÐeÜLµÐ«Õ<Ÿ¦Ó¶’dÉ/žÃÝWD°[ÄÓ+¸Ä_ª6WÌ7\eq¢Ô=¹ÙÀ•ŸÅŸJltæSØÏËÇ¥P«
WÍBB¿¹KãHÌzé Z@´WO± Áu¡8Mݯ͵dz6‹Vw7‹IáÔ?C'5:(5¸lIµP àJ@t¸@œÛI3BÕ¤Ml¢•Ôº@ªª° Y
XváL4w=”™çŠWR@ß_]ÖyçÒãcxUX ­~жgc,°éÐrâ»nŠ›æî_Ü´¶¾tä‚W‘À;Ïß[3Ì¢ç¢PÁÖzÔ—Òo8E2_V
Yä\5ZÇO¬È~_J-ÝsÍÎ ¾¥Òã Þ2’–Pq¦•£~O2ºe¾'ãr7/Yäª|1.PrÊÐé^C7‹wJLºZŒã/Ì@š‹u³hÕæײM
ZÃÑs0¿¬ÙZ¸zÉ7Îb/f×d‹VÑ”È0Š )arUªmnµQ-©sÕæ^ã¶ÎW5c‹µv‹ÑãÜ<3ãc¨QEŽ TŽ£—TWÇ»ÊÇÃÎB
[3ç@9J±ãB,˸?vÅr8.”X­sSŽBÔ,ÁÍRµÞqLwÄF YQMØ“Äßneç¬É9àô—ß\ÄMEÆyÚÞµr•Sèw=F¥³t,׺À
\g<+hi4Ÿ¢Ùw'rçÏrAbŽµXwcSsãu½Š[,EfÚv¤=HBEOz~Û°ÁæïAi“¬? wOb;éÀ7¸ž¶çVC–‹JÀÉKÑÇ@cw
]çñÇ7;.Q¤­±ÏL0Œet,Ú¡Õ}PÙxw‹¥fR±ÑVUN–‚@ß+>gYs嘨kÚ~½©©®Ì°ŠÌ—ƒV®ÇÅä©ÔB¡/7e@§ÑÀW^
^8î“cŽÐv­tÑp=ŽÃYvͽ·âu‘›E}ÊZ©³©.Y”gÛÏÀVÛÇÄ@΋Ma£HV}Y.À[jÃáѯHx\1Ó²è§pÖÉèçsÑ(n
aÑŒèZÖ¼é¥9¹ms‘’®Ç®®5¡4¼Í D0©Ô8½C“¾gt:B~^½›Ô[èö-™Þ@­;]C °§ØKvvCi®|Ac×*i¾/Á¨ÒœQt
b¶'Å1_™jâkã ‹˜«È¨¦e6´1[TR彫‰—dኾri¾^±¶ÜEVZÄ»3 ‚AÇ©uÒ'¶{«Q ©pÖ2'3ÌÑvè­EIŽUhž
cR8ÖšÒªÜ ¿Ðhª‰Š2»¡Þß–¾­æQ{¸ãLNITaV•‚'¬–Å¿ÛÁ¹Ë³ãšš£4æ¢ÍšL®==§œVR<ä›9ªRÂæ~r¨rEŽ‡
d9½t5sga‰ðCÍ “5¢¦=,¡Îšç¢›O¼VetS+Ž¢¸P ¬=9œR¯‰¸Ç©u‘ç6RM<\mʹ~©?¨Ü2Y¯qsDgtuÅ=¤m3a
e–Pžš ™–‡×œéN<ªè—ªÄÖo‰íTNeÉB4áÖkŽèÇ6Æ>DI:¯µØ+Œp™šBZ1ÔæzƳ=6'ÄHN_ ZXbc,š}ÖÜ ‡œ¥
f i=_}èÞH¨,ÍึLÖBàM]Ø·(ŠÞ>’”v6fnSœæµçæ3žèŠ¢¥Æ¹Í/Ú⯳ —P0ªµ±du®a{éóÐCŸ°Ý—ñ1G\k
gŽg½žZ™Ù­)U[>§FPåᢗ^|vÍÞW<k»;]|kDž_I±¡K¯aTœuq®C2’]ŒHà\‘ Kª;Òº2ufÜ~IIáãÚX·,|^K
h¾Œ·£mnfÀ1¼Ú¨Æ|¸^T«ãÈ(è‰wc½6C_æT–Õ~éÃÔŽ„‹ŒÕÓ¾0,ÍcnÉ1ÕXåKBàØ@šKt-ÑA ÑŒÈËCq/;X~
iÕi™ÒCBç ð库YãøKlŒÍÒ'tRµ;8Ô7Mgš¤Ð6yr>Óšm¬ÒhŽmWfàD°-g¬áBš‰Ù5Õ K22Do¬v¸à½ ^É¿o
jäuk¦cªÌÀßjÚdOEv êÚDB=WÕ6/z¦½ÐÚ±A·l¯?§£ÒºâŒE)¬/7¿r'Û €Q_®âc¾Vg ½TZá Š t}as®s:F
kÊ:°T¾¼B}LT¹bd:Øjbd ëaÇÜ‹|us½{e¾ÐCVCžœ¹šsÔ_¤ç]’êTM¥á²Ÿ¹P\–ÉCA«à kd0QEÌÑãqE-dän
lèë*ÎÀ‰ÔÔÛO4ŠIL~Ëi46™¿;¯4)—jgæ’º³o7ta;@8é§o.¸ÁÀãêmÛªD“E¿IÕhSCâ 6e]±Æ0k–K8¤:±3-
mŽ‚I'kb¡»ÍÐ6ÉÏGèÖOcdÀœÚK«çœ|5xnÍÞFo1+(À¹ÙUl'ŒY?´2n“­[ݪ}BVÁŒŠN›¯ÔÄ/cœPž·eµF¥ÎY
nÄ<Dœ{Ù¢fÕ”dÎÇjÝOÖÖ/è¾OÑa”¦7{©½Ì¤hÉß—»‰…ãèV§‰¢‰ ®@‰\yãh«bÐJåɺCLœÇm4»»Q\~¶q¥a¿
pHeG³QÓ0³‰¿Ü¡QØɬzËÔÒéÕ¬[YXAÊ£[é“ Â_™’É8wÈ^ÅJZç»NÛ;N¿Ön)fƨ§æƒ@G²À¨/FußÚ©)•Â)\
qŽáx¥©Ñ6w™mÓJOBÖOp]4\“âß>Ú×b ¾g{ÕrÂÞ½¬ØŽÅD5*(kéñåÂÕ²žvg¨qcŸSÙà‚Õd2¦E‰ŠÒ7Ó¹à]ÒR
rk–Tv ¾¾Yz¼.Å¡›à(_ÊÝåÜ „ÇÓ´—ÒŽz[N”’yrP'‰ÂGZã¾,‘¶áÓY/µ­©6([®ÓÉa¸0T~MÜÅ6ŽÛËUËä’R
ssHC­rÌqça8‰• Lx=eTº‘•xqH;àÄ–¯œÍ›‘]Š¸ÄMŠ¦”‡¢”Tiª4by®W¯Bé£Ln¯È;-60ÞnHÊÅAá LàÖɲ
t¯V¤§Öàè²PZZ(}ÖwÙy¢+Á(ÃÁÖ8 ^œa×Q{<åF<Îo]μ)¢G)oÌ‹gž€Ò^ç±åO~ŸÃ¦•’ŒI¦Œ·«¿BIWÑM1Á
u¤±GŒŸ»ÞF×”Û^“ç’”RÙqn ÕÊ]~-|G4×)gA5'æ‘ŠÍÁBÕ@³çLC{jÛ}·ÑàêÊ4_a«ªŒ†¹¥¨ÚlÞ®¦±¬Í¯\Ü
v¼Š°'äÔM–ÈGT6cB²v²qpaÄdm´p\½ÍœN¶¬éèuœ”m|^’cämÉ•¼70¬è«{¬ÄhuÀÌhXÆÚÊ8ÐPoΞxÃ_º¾oo
x´ZQ4/:b´i5‘M:ÏÅYè°M×[YKàâ:Ðp8Õ=ÛyClÖrk ÂÓHfHÂÀ¨=Èn’xgE9r¼f¼‹æ£ÒÛMØ®{,§äÍÓœŸ=W
yl4 ³6µÏxéÇè©šIm¥mË=¿’T<ŽÛVM9ª§µ^E¡z¾tÌ2/תÁŒ±xË› œmŒ²ÐlÔU'J}®JI, NŽÃGåˆÕR”J8N
z5H§Ùy䔢ї©I¶ÇKÙcª-rÝ¿(èÀYX¶Í¾ËŠu8Ë—ñ'x(ÛT£Ôå–}Mc8;›õ¸ d°»u®Ã7»-‹Åç•GÜÁ´Æµ›Á°
|_ž•_¶l-åâãòáB[½ç´š­BËÒÔeÃ’—*Åg\á§x­È ™â¿-¡)ÇdÄ¥^Ä˾֙LÛ§¹[ÂÚÁgZŽP;9G—K» k¸9ɹ
%¿B›žFÄ•¢±ÃI7œYuVBé_/جºÇ‰l»³kO«¾¡œ¸Ù(Txq±žRÞŽ~Rlßq—ø|à~O‰³fV­•ˆÎ;u}”H2M Mn‹ }
&ÖolbÈ.Ë–Ê‹M¸qÛyÏqÁœÅxäl¼;ÚÐÖEªH@°P²|à@{)’jBÄRs,xTÙÔC2è³ÕŸ åL]Â“Ò ÔWÊ0a¦ß¦­©¸W
'iË–WŽÄAã Ø mÙf5_YË:–AÇáb²PS8æ^‹—FÆÊèð+1uÅ×).=¬³•»â«¿ §LÜÍR­èNlÀu:LÙâ¿Lš‰—dO·¸
):+”]Ô™Ók(Ùrx …ߣ•›ÛFcK°_(<V9,S—¯©Dªµ¤hqÂÈaVV_Ô9@6ÓMZHmŠ ’„+ vµ’ q©@faN¤§å ã¡.
+¢ ÓáN’ƒ°.Ygl¯©sAÐ)2}涴²¹cÍTÛÃzVŒî1.çVb¾C¨¢×7Íg¾9²ß_“Q²Ö¡[L ˜Ë×4¬8ݤ«ãÙ<Ø×[Ç´
,Kã™+œˆÔ°ÆsqDP¨«‹­£Ëέ“ícè¿Àkl¡{:ØËääv]9ä…®Z¶Íq{–Au¢Bdv[’˜µdÆœðܾFj3w0•›¤‘D ß[
?J½BçæK)ÂÓÆÆUŠyæEv+/k*(Hz¹w^±ØÓzн¿|ȶ¨RÆÇØË]~“ŒÅm õ«u‰šzR¨¨]¯×¥Z0ÂÍåñ™Dqr,Ø u
/b§¦é@àqYž{xEÄ»C網b]E¼s ‰ÄXdz{J²¯‹ßGWТÊCDÕ,K»Rá¬Ãgä„ßW8F “MÒ«^çK«³|Ý›Ï;—ž8@Û
2Éoåéj5v:r±qŒØ}Q>WFšl4‰ÄSKMÜ×–ð|Ûu, ´z£[)*ª´Â~bÜWT|Î~c™î·{Žj6j{nÎ|Ì·måV•dè½p6v
4Ømܳ[bgPMG_Œfv㜞Y~yKÙWr‘°QÝ^@ÊØÜxU/Ç©áÝ–¥Æs¡h§*P[­4H±]5™Ö“™a/Í°š·©žÛáGcÄWIÐa
5Û\KdJ+ÄI}wÒÐÅžŸÖ‹e91 ̤ÖÁÑ-=ÎF12ªII(B£6ҽĤ»¿dÌӼʤ0Ó½èV+»7£oZÜq1¿ÂÎ2näB+1¤®
6ºµßҗ쉧œÊQmBÎ8z§RJQ.hDâGÏáHu=-e³§Ó9¤[Lå…ev¶/ÅCM©VŒ¹ãLgOŒ€–¿xu;—Œ4BkHD8uµ¢pŒ
7«Ó‘ºfžHqß¼lŽ\H«.soŽÉW¤ÝVaÓ¹ËCåö}ª R°™BHÔÖ*+ÐJ¿HádH£s<YÈ+͸AT)ÑåÈK:u,:~_ΔÉ_ã”
8O<ŠNÒ2}‰rŸ_•Ýä§0D x+e'Pœ£s°±Ï@ÇÜÁÓ/WÝ;æC*n®Ôª5¾Í‰ô¡âiWÓÎfãÞVQ¥›Ä§—œÖgX7¬ÂEžžt
9Ÿõ^âêsÐ][jà]Þ°;Æ.y‹•È¨Í¢ÃV'Ž’‰sÕuÙº36‘LÅ);¦/™¶/Q2QâhGÑÊ“NWÀ™ÈéNÈ{éT}¥D¯<AÊ Þa
:A'­*¯×o:¬rOT±9lá£pVK¦k ¹²´*i®¥©6»´aäQZŽ¿â×sO³–l±¢ÊÊ3Uh—GœÕæSIQµ°xs6°~/ÍšhM³M¦
;ŸõçCÂcIž–’ ÉóԺAÂAdcÏf½äœÒVÄ°âø­–œi ¼ª_aG—˜l™›GÈ–fÆQ³•×eä~‹_6ß\Þn¬åž§5'× Î2¿
<Øßg{å› Àag£Á¹–æ@·¸qjnÁ‰“°¥~sªE²bÇK|H16TEW;{‰c¼zeΖ yÄJn8°CUJ~=µLµ~¹8|^‘˜Ù8*rg
=sœL“ԤϪN¹Eng¼*é͛ң©UWšØD’žvÉ k |“ÃK8Ôs-FÑTÇ´P©’ nç”wØ´ÝÂ9ºRw³|aj¬04,Ñ5¹OÖ¢¤
>ÔPãwB'Õ§{GpK'mر¶2[èQunlW¤G mOâ±°ÄŽÌF¸[Ì3-L-¢´ÏØKluuM-²Aà¶À›yšjšI™Ùa§º]v£|uhH
A–Z/·¡svÓ,Ê‹´•ãçaÆ¿\:ÛÉÅÖu¬k´G±3 ŸNJLŒO©¸L“²G Ʊ{4l¼¤=EXÜ82 \CzA™p<.Ìh–ŠÄ g®Öy
BÚX«+¨'} tÝDc·VÁ |=WvÐÛK­Cλ·ÔÔ}ÄP¨4>cÑ›w dÓu¥“PŒÏkÂf¢8d)À++åîRÄÈS¾5*A×ZÐTz²•©
C¡m}[¯PÄwØÛ›xáÔÕ¨¸SVT}aÐ,9È‘æ“K‰[)ÜËLÞ‰½™ØqœŠ©Ù ·ªpŸ|@5ÊÖšÃ]<)—™cÔÈ[kÍàó1GÒa¢½
DÚÏ¢—¶<ÅƵ±O?+‹Í½@ξ~HDDvŸœÚÈoŽµDŒ÷¢SÁ¸¹¤¥·+E:xSlÂb³;L²°Ò‰™J1™PI¢´?GàsÑKšÎ¤”wÁ
ERc›ñ¦åPÍqcŽÑÓEÔÝèíÊyfߟUs=•»/Ó—À¤½;ÙK ökÎæóäÏ-Óf‘¾ÃÆ6æ뛩æºÙ}‘\¼Tz<.9'®x,(£¬©
F¹¡u l¸Þ–«A–q·ÊŸdåÔs2sÒÌz,sæî*°F–^rçŠJÖ—ÇDÌ —ªÇ¸¾r WO‹»L ÉlÆßÜ£Þkv‰×bÕ+v¹WW,XL
G]­Tv£â´nwªE¯à³Gæ_ÌÇÔÁpg^¹F'¨L¹2ÄçGJºB {tÑ©p䲓H¶1¸¾*x´éH“˜•K¯;(ÝGt-éTQ°VXG¶Wb
HG£^ ¤étÜQV@d©7D™â”»É1k\ÅOº«,½@C(É4žZÅ”‡åÄãvhèuB‘]HT¶k ´N§½ãZ~6,N¦–ÍOÚ–‹Ä½´Vª³
IAÅ+°Ç×Á®¢ä —í ˆÁF'WÑP;8¦±14‰v+JL-lf}´·Ylf@ÙTߢÎhÇ?B{hÜ7«B<šÂ㼨ãt5¯Þ®f —Û‹Ïs
K³ÇsÖgଗÐÛÎe§|n¯ÝAÃt£¤ÑÅÏ•^×μ¹nÖLÑg²Lé Ub~UàiàÏ—NT°É¯¿E°?j©œ©ßå]Dr¾Ðs'nuGtTµ
L(N}«–I±´°Ýh°MZkÄç¾zNeÑ,ŽD·¦—zÛ'}@Z9À(B)ž}“ƒ;6 ZÊĶSÇ’ì[1aƵv­Î^ÁE›bE*gºÙ¨PÜÏ/
NruÒK N‘Y<¤ÖUm¸”BÈÎYu‘ͲÂnµÈ_u2 Ú°âñÌPfMØÏMªgK‰·´¿)CM±¦‹VºM:çeÅÇI¶RÒ¼h[¢9‹_G'¨
O)s5Ös}{(QnÐÑÚm6|;á³04ªky¸oçèSViegÌf=”Mµ³H¦-ª£šðy_¿4dÜ'éæA~Ô®Œ™+bVr¯_³Ì¯Õ+\bÞÚ
RÞ߶a¬ŒiØpm‰~ŠŠ©ªfÙYhŠNÃ:¢ ‚*SX]œ±P³|<Y'ždÛ•Ne×åDµ§Ó“Õ(ÉÀš˜c«N›ÔÊ”Q:_Öz[~:xÙch
TwɬŒJœ×oƽŠh” ±8ŸöJ:¿”Éak q®iYªpʻɭ®¬TXß{«£Ç@ÌžB‘I4xT«x¶B¼½‰µ¾z{ebÑjÆw‰Ça9¾´
UY¿™³Ym*NSqdq4CÏâµzÇmÂÏL¨ç·g/Íü[ã­©<f®­qÙäe]1cwŸJÍv ²7K+*y¼Ïw.åÎQR[TÖ¯æmÂ/S.
VL»ÊEEJ\Ï“hKæ^VãtK/©R”èØšô“²:µZ@Kà†:ÜÖ»¥ ÈfH+ÒWDºÁËÅ@¿ÞÕwËYb‰jå°¨-¸’N,É/LÛT°¬u
WÝÓ/ÎTÂæÛxÃK¼Nç²èÓ>‹ŽÝ¥¦¸ Š,J{3âÇPH¡l‹SËrŠ§ÏFåTEéy—¯3¹p×ɬÆ738f'ºM[|lYjÑÛäi/ä±
XеTãºÉ´‹¦zâa¨Ö¸š~_Š—=´Ù7ÕÓå°ÛF rXU».‹Ë-Ìҩþ¡Í5Ç_*zÑS;j(ßyÖ]MfæÊSfZ:©áÊ'¶¾ä›
Yb'¦h¶Ë¦D¤ßaI5¼si ¹¾9Kg¤J½Ö·¥âµ–¿áªŽM·ší]g¾; ¨ è¢À­z6?_ŸÊ[dLµ z=ǯ0N©b¡Ó\* ²z
Z²-Q̬±vÀ;xË—©,j²Ã•§nf1Û¦[Ã̬V/RNtáϕعF4CrÉlÓÄ-EAŸÑJèçi¥É?qé¾ZiØ’¸mÄæö'o:éypE
[aŠ—sIª¼½é‡xt¦¢¾KF5©Ý<¡‰±g6ÈØnœ¢±ÜÊz,–ÞgË›G|hÐ[p@¯]×c}CÒæMT8¤Ÿ[.½l+ÍLé¸Rc[w7ÐÊ
\pDA?)¢Üw* ž=|l©**¤.È|3ãÿc/4F+[¦m{»‹¹N× ÂJ¹4@CÏsм ‹Ïy‰oF¸t¥¤½ÈÉ/¶¡|5NpÂJ ŒjG
]µmšÆ4|°‘‡a,ͤ‘£áŸ,9+ש:rdnG ë-J©1×—ÁËIhzÄéö¸·L}/gÉéhbIQã¼1ŽV8QÇlSW0yqÕ-¤IÔo£¶
^àÛz¢é‘´vQÛQn3t¬šJ¾o—À[h Ê’ö¦áœâ£Ò¢.‰â5ÈC,)r“ ¬ ³ÐŒƒ×R4*ÞWŒ ¸^éwæÚµçÈÎ1ÈL uAÝA
azs<´*—­¹a–ºžlœWpJ,G Le(VÈ.G1SàÊݽ•ž¯³H¨½–ÑËŒw·i^7åÀÉ<0aB‰ÈÖØÃ×,»Ôœ‚é²<ç°VeÅ«*
bJVºÞžŠ¹ ¢C®ffM•íÎÁØ×¢-¿è‘šÂšW-¯²WÝB4XRœw•G㊩çJÆj•cD°Ì¥³Ï¡™oT4™¶¦Šçy ÒÙfÊÓã–B
cÊHG~·œÅo:Ó¡SÇÁäç£^^Òj\HF ñouXºŒ¨É<9HÔs¦gW[ÊÔV{t½‰ógl8(Šw3rvB5²—œÁL9Í(I4’q ¥U]
dzLâ¥_ÙTKçM5I\? {Þ±ÛØ\ÞGšôÐwÞ-Rtx:OæÝC©}¾å½ŒÛ^±›X¡¢Q´;¼9A¸âçÝéQžZnPn¤mŽ‹ Ï“ «E
e¿åÑœ´7S»w^y=D騜mT¾3·¼ÚVN¶c DLEcèf¹¬À6³»¥Ë”Šu{RÀ[+8er®54cžÎ·\žY̪VÙµ´-)¾ÖÅ×é\
fB«W6ÏÕÈl~¯®¹Ém0¶0WÅ°½Ñ@ç͹´ÊÇØÌ¿—[W¼w™Û?w’ÊKÂce.Z)'g¿Ê´ÞS¤çÝY’Ì5Ö0çUp¾-ÁÝ=0ÕÁ
g<aJQDÅ[§®p.UãŠKx*a¿2x“GÇuEÓÝW¹srÅdŽ{•EBÙS<áasÝtq‹¾y”UÐk5ѼÓÍ›­¢_ ›kQ(“p©m2L(
hÝÙÈŠòšè\Óßg.ž™ÕfŽiž’g zažä£VD¯«¼FIoG°ÛP2Ômn=½O\· ÍQ¹ ÷‘iSKFŠŒÉŠ¬ª¾Ç'4D«UæyæÛ²
iÈZ M«T[0 s}­éÀ\iÈ•È—®{”Ö¹Tc¨}¯PÍÅ]©™@×Ò¶ux~å…ÖEVËfeÒ3’B ðØDçfÓäÚÑdÁT[EWËÄÙ'M)
jd×3XKÐÇÊBv¥~W•XGX¬rG/Q)¥£ ¨é ’¯ QUvÎM¢F“×OÆU â¦Ï¿Ak¡¹šÕŽõR¼¼\Ù–äŒl”•ÚNÙ —XDÂ
kBãw,Û<ÏoÆÙ¦È]ÓŠæ¢{MãsG ߲δÙÃÞTŸ Ó+äsl~jnOËEqVµèÓ¥¿ŸeIYà„eA Ö-tÍNr~ZŽK'b¥Ê«n¬
lœ˜6‘®0Š­IMKRQPä¯A‹€02¾‰ã-ÞuW’ }gÈ­®¶èlº_´mWE‹ì\m¯~Tb6ÂèoÞŸ«‰Z‰}·gÔGK–ÞUÂI¼Œ~
msÇÔÀ¥¸nI¿œM¤­â–.×èdr°šaÙ\Œ®(E’ n}cd¶~j¬3|‘àÂ3›‚Ñ¿.­ÇPåšJm㧰n¢ºc× céöÈAEUº<ƹ
n©œå2“vOÒ¯HzeÑEFhV“‚ÆÂ|2[Ùl³©KÖ‘®v£Ë™¨ÕÚg¬0*: K3y›^ÍØÄiÊ·C ¯IÙCAä•Ø(н{Å–m~3{u
ptsÁtsn©ÐÝŽs·Žî‰ËÞ°BSS]läƒVͽŸ©_›J‹p¹ŸIœsÓi•­UÙÓaß °“½²?E£)m4R9Ë£?Ê¥J¢P8’æ[;Ì
q¥ÕµnL“ËÛžªkT³4âòI0 ÅIoÔR¤œ¹µÒr2çs5nÏwèèôAÞÂ~ÒJço kŸžp¥ph•{¿«œGÁ ¦z<:,F ¸lÂÛd
räZH[¦=2a¢h£åbÙbçF’kµ«§šUÑtŠx¾ÃY}œÉ2e¶ã˜g•¿}utn–˜¨š´u´*èÁ7<“QaqxÉS´µxRÄ_°¸¬£AÝ
sè¹xä ŽW@P”ÉMtÔ´liÖB¹@@ ß u¢¤¤¸á檷7 è“r*ä©'R0™s6S“õCÇ'ª ‰—IdReæJáÞ<é•Œo{Ï4£=I
t³P ݤà}ÚdZ¢çvÌy±¾r t¢8Ð5‘ôj+¾ÍWQŠò— Ήè7_¡pY0©8<Tljà†Ä3¨Þ›lºѿO|1¼-—“çò7YÜÌÛ
u7ßy8)èwå…PÒ óšN¸WÏn¥p(ÉVwRJ3šÑkR=ÅÕ¢j¦œÍf›NE‘†à€eZi'ÔÀ/ªÊ[ž]b¨L¼ÈµhŠKÉVžÐcÔ­¦
vBÙæsnD@@pVE”@È Üž„@B<e@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*Œr
--- 20200705.7z (209/209) ---



--
YAMAGUTIseisei ( str_h__namae = { :sei => "ŽRŒû" , :mei => "  ¯" } )
http://hello.to/seisei/ mailto:seisei@.68..net tel:081-70-5152-1104
j Softbank-PHS “WŠJŠúŠÔ‰„’·

YAMAGUTIseisei

unread,
Jul 13, 2020, 4:43:19 AM7/13/20
to



















aish -o - sj.txt | 7z x -si # http://archive.online-convert.com/# OSX/PPC : 7za in 7zX
--- 20200705.7z (209/209) ---



--
YAMAGUTIseisei ( str_h__namae = { :sei => "ŽRŒû" , :mei => "  ¯" } )
http://hello.to/seisei/ mailto:seisei@.68..net tel:081-70-5152-1104
j Softbank-PHS “WŠJŠúŠÔ‰„’·

YAMAGUTIseisei

unread,
Oct 25, 2020, 7:21:56 AM10/25/20
to
1501c
# ise[i_i_d].reject!.with_index { |fis, n|
.
1497d
1489c
ise[i_i_s].delif_c(ts) { |pfl, n|
.
1487c
# ise[i_i_s].reject! { |pfl| # Inspired by : RobertDoggett ? http://microware.com/# , Professor TAKAZAWA Yosimitu http://mu.ice.uec.ac.jp/~takazawa/
.
1465a
sl.slp(0, 0xf)

.
1401,1402c
# ise[i_i_s]<< [0 > rg['ctr', 1] ? -rg['pc'] : rg['pc'], rg.to_a] # p # cp
ise[i_i_s]<< [0 > rg.p ? -pcl : pcl, Rg.new(rg.to_a)] # p # cp
.
1384,1385d
1373d
1310d
1305,1306c
# end
# rg['pc', -1] = rg['pc'] + rou.getarg_sbx(cop)
end && rg['pc', -1] = rg['pc'] + rou.getarg_sbx(cop)
.
1297,1303c
! stack[rou.getarg_a(cop)] # || next
.
1288,1292c
stack[rou.getarg_a(cop)] # || next
.
1282a
true
.
1261d
1252d
1241d
1238,1239c
# ri ||= true == fb || (true == fb.resume && fb = true)
ri ||= true == fb || true == fb.resume && fb = true
.
1234d
1231d
1229d
1182c
# callinfo.p += 1
callinfo[0 .. 2] = [rg['sp'], rg['pc'], irep]
callinfo.p += 3

.
1180c
# callinfo[0] = irep
.
1177c
# callinfo.p += 1
.
1175c
# callinfo[0] = rg['pc']
.
1172c
# callinfo.p += 1
.
1170c
# callinfo[0] = rg['sp']
.
1147d
1137,1138c
end while [true][thi] # fuantei ? mruby:70410200 monami-ya.mrb:60510200
# break if 0 != thi }
.
1133,1134c
begin # fuantei ? mruby:70410200 monami-ya.mrb:60510200
# loop {
.
1116,1131c
# pl.pl_es(pc1, opg.(thi).push('ctr', [sp])) # c
pl.pl_es(pc1, opg.(thi).push( # c
*['ctr', [sp]] + [[:ctr_s, pc1], []][thi <=> 0]))

# if 0 == thi
# pl.ctr_s(pc1)
# elsif ht <= thi
# thi = -1
# end
# thi += 1
thi += 0 != thi && ht <= thi ? -thi : 1
.
1098,1104c
# when 'th'
# fv = [
# -> {[thl[oi], ta.(fv[oi]), thl[oi + 1], []]}, # c t
# -> {(fv[oi] = ta.(fv[oi]) if oi <= ht = fv.hgt) ? # c
# [thl[oi], fv[oi]] : []}
# ][oi <=> 0].call
when 'th' then fv = fvl[oi <=> 0].(oi) # c
.
1090,1096d
1085a
fv = []
fvl = [->(oi) {[thl[oi], ta.(fv[oi]), thl[oi + 1], []]}, # l # c
->(oi) {((oi <= ht = fv.hgt) && fv[oi] = ta.(fv[oi])) ? # l # c
[thl[oi], fv[oi]] : []}] # .lazy

.
1084c
# thl = @@mh_thl
thl = mh_thl
.
1053c
# m = fy.(m, f) # c
loc.verb "#{pc.to_xeh} #{sym} #{rs[1]} #{rs[0]}"
sl.plwt(m) {m = Fiber.yield(f && 0 == m)}
.
1041c
# 1 < m && m = fy.(m, false) # c
.
1037c
# 2 < m && m = fy.(m, false) # c
.
1030c
# 0 > i ? (r[1] = r[0]; flg[1] = true; ~ i) : i
0 > i ? (flg[1] = ! ! r[1] = r[0]; ~ i) : i
.
1013,1016c
# fy = ->(m, f) { # @Slp.slp 0
# loc.verb "#{pc.to_xeh} #{sym} #{rs[1]} #{rs[0]}"
# Fiber.yield(f && 0 == m)
# }
.
1003,1006c
# ((sw = sp + sz) + 0xe).step(sw, -1) { # higokan mruby 70410200 # bbab89e7 5211410200 tmtm
0 == s.size ? @Slp.slp(0) : # plr += lm.( # c
# s[sz .. sz + (ap = (ap += ap >> 1) >> 1)]) # + (ap <=> 0)])
# [sl.slp(0),
# sz.step(sz + ap -= ap >> 2) { |n| plr<< lm.(s[n])} # p # c
plr += lm.(s[sz .. sz + (ap = (ap += ap >> 1) >> 1)]) # + (ap <=> 0)]) # c
# plr += lm.(s[sz .. sz + ap -= ap >> 2]) {r1.empty?} # ? # c
# plr += lm.(s[sz .. sz + ap -= ap >> 2], 'empty?') # c
# ].lazy.to_a[s.s.size <=> 0] # .force # c
# (sz + ap -= ap >> 2).downto(sz) { |n|
# plr<< s.ow?(n) ? nil : lm.(s[n]) # p c
# }
.
1000a
# 0 == m && wo.include?(r) || wo.push(r).sort!
.
992,993c
# lm = ->(r1, &b) {yield ? r1 : imem.send(pr, *isr0, r1, mt)} # ? # l
# lm = ->(r1, ck) {r1.send(ck) ? r1 : imem.send(pr, *isr0, r1, mt)} # l
.
989,990c
lm = ->(r1) {r1 && imem.send(pr, *isr0, r1, mt)} # l
# lm = ->(r1) {imem.send(pr, *isr0, r1, mt)} # l
.
984,986c
ap = @@fls_w ||= 1 << sz = 3
ap = @@fls_m ||= ((ap += (ap <<= 1) + (ap <<= 2) + (ap << 2)) >> sz) + 1 >> 1
.
981,982c
# sz = 4; ap = @@fls_w ||= (1 << sz) - 1 - 1
## sz = 4; @@fls_m || (ap = @@fls_w ||= (1 << sz) - 1 - 1; @@fls_w = nil)
# sz -= 2; ap = @@fls_m ||= ((@@fls_w << sz) + @@fls_w >> sz - 1) + 1 >> 1
## sz = nil; ap = @@fls_m
.
979a
m = 1; wo = []
.
976c
isr0, mt, r0, r1, sym, sy, pr = nil
.
972c
# i = @irep
s.irep(i = @irep)
.
970a
sl = @Slp
.
956,959c
# @@fls_m = 1 << @@fls_w = 3; @@fls_m = (
# (@@fls_m += (@@fls_m <<= 1) + (@@fls_m <<= 2) + (@@fls_m << 2)) >> @@fls_w
# ) + 1 >> 1
# @@fls_w = nil
@@fls_w = nil; @@fls_m = nil
.
951,954c
class Fls__l
end
.
946,947d
944c
# r = r.map { |v| v[1] = v[-1]} # higokan ? mruby 70410200
.
941c
# r = Array.new(thl.size) { |n| pl[lpl.afl(thl[n], ?i)]} # q
.
939a
r = [pl[lpl.afl(thl[0], ?i)]] # q
r[1] = knid(pl[lpl.afl('ctr', ?i)][0], :Array) && # q
lpl.ckth(pl[lpl.afl(thl[1], ?i)], 3) ? # q
pl[lpl.afl(thl[1], ?i)] : [] # t # q
.
930,938c
# thl = @@mh_thl
thl = mh_thl
.
904c
# 3080410200 : 5x2 ok ( gc ) : monami-ya.mrb 8270410200 813e2af8 # http://www.monami-ya.jp/
.
900c
# thl = @@mh_thl
thl = mh_thl
.
819c
# 'pc' == k && case v when Numeric then v == @a.assoc(k)[i] && v = -v end' # cp
.
791,795c
# if a.empty?
# @a.map { |v| v.dup}
# else
a.map { |v| self[v]}
end

def to_a
@a.map { |v| v.dup}
.
758a

def owc(i = @ir) i = owi?(i) && @@ow.delete_at(@@ow.index(i)) end
.
738a
def owi?(i) @@ow.assoc(i) end

.
732,736c
# def []=(*a)
def []=(sp, va, pc = nil)
#p [sp, va, pc, self.object_id]
# @@m.lock
pp = sp + @p

# knid(pc, :Fixnum) && (@ow[pc] && (@ow[pc].include?(pp) || (@ow.push(pp); @ow.sort!)) || @ow[pc] = [pp])
@s[pp] = va
# @@m.unlock
# a
end

def irep(i)
owi?(i) || (@@ow<< [i, []]; 0xf < @@ow.size && @@ow.shift; @ir = i) # p
.
716c
# @p = sp; @s = s
@p = sp; @s = s; @ir = nil
.
711c
attr_accessor :p, :s
.
709a
@@ow = []
.
668c
# fpl = delif_c(ts, fpl) { |fb, n| fb.resume}
fpl = delif_c(ts, fpl) { |fb, n| fb.resume(n)}
.
653c
# fpl<< plw(pc) if pc && 0 <= pc # p
pc && 0 <= pc && fpl<< plw(pc) # p
.
603,640d
601d
599c
# Fiber.yield(flg || mx < thi)
# m = Fiber.yield(flg || mx < thi)
# 0.step(m) { |n|
((m >> 2) + 1).times { |n| m = Fiber.yield([flg || mx < thi][n])}
.
597a
# 0 < m && m = Fiber.yield(false)
.
593a
# elsif mx > idx
else
pl_es(pc, [thl[idx], th[idx]])
.
590,592c
if kt.call
# if ji_ngq ||= kt.(pc) # c
# if ji_ngq ||= plw__kt(pc)
# thi.step(idx) { |n| pl_es(pc, [thl[n], th[n]])}
0.step(idx) { |n| pl_es(pc, [thl[n], th[n]])}
.
588d
584d
580c
# if 0 < idx && kt.call && ckth(th[idx], 2)
if 0 < idx && ckth(th[idx], 2) && kt.call
# if 0 < idx && ckth(th[idx], 2) && ji_ngq ||= kt.(pc) # c
# if 0 < idx && ckth(th[idx], 2) && ji_ngq ||= plw__kt(pc)
.
576,577c
# Fiber.new { ##
Fiber.new { |m = 1|
0 < m && Fiber.yield(false)
.
574c
# kt = -> {ckth(pl_eg(pc, 'ctr')[0], 0)} # l # sp [sp]
kt = -> {ji_ngq ||= ckth(pl_eg(pc, 'ctr')[0], 0)} # l # sp [sp]
# kt = @@kt
.
572c
# mx = th.hgt
.
566,568d
563c
# th = ((idx = 0) .. thl.hgt).map { |v|
th = ((idx = 0) .. mx = thl.hgt).map { |v|
.
558,561c
# thl = @@mh_thl
thl = mh_thl
# idx = 0 ##
.
554a
# def plw__kt(pc)
# ckth(pl_eg(pc, 'ctr')[0], 0) # sp [sp]
# end

# @@kt = ->(pc) {ckth(pl_eg(pc, 'ctr')[0], 0)} # l # sp [sp] # higokan ? mruby 70410200
.
550,552c
# (loc = @@Loc).verb("#{pc.to_xeh} #{a[0]} #{a[1].to_xeh}")
# [self.send(*a) || a[1], nil]

a, op = a
[self.send(a, op) || op,
case a when Numeric then true end ||
(loc = @@Loc).verb("#{pc.to_xeh} #{a} #{op.to_xeh}")]
.
544d
541,542c
# knid(a, :Array) ? s_id(a, pc) : a # __method__(a, pc) : #? mruby 410200
case a when Array then s_id(a, pc) else a end # __method__(a, pc) else #? mruby 410200
.
537c
# (TB.dup == a || case a when Array then 0 >= a.hgt end) && (return a)
.
512a
# 0 : ary 1 : ! ary 2 : kara ary 3 : ! kara ary
.
491,494d
481c
aa.each_slice(2) { |k, v| send(k, v)}
.
461,478c
knid(k, :Symbol) && (aa.push(k, v); break)
i = self.afl(k, ?i) # q
# i = loop {self.afl(k, ?i) && break} # q # fuguai taisaku
pl[i] = 'ctr' == k && ! knid(v, :Array) ? pl[i]<< v : v # p
# pl[i].send(('ctr' == k && ! knid(v, :Array) ? '<<' : 'replace'), v) # p
## (pl[i = self.afl(k, ?i)] += [v]).replace!{ |i| # q
## i.send(case v when Numeric then 'itself' else 'pop' end)}
.
453c
aa = []
.
435,437c
# if 0 == n
# pl.map! { |a| a[1]}
# end
0 == n && pl.map! { |a| a[1]}
.
334,336c
# a_ = a[0 .. 2]; return a[3].map{ |v| v.nil? ? v : send(*a_, v)} # r
a3 = a[3]; a3.map{ |v| v.nil? ? v : send(*a[0 .. 2], v, a[4])}
.
325,326d
164a

def plwt(m = 1)
sf = 2 # (@@ts >> 1) + 1
((m >> sf) + 1).times { |n| yield n}
end
.
130,134c
# n = 0
# c = -i - 1
n = 0; c = i + 1
while 0 < c -= 1 # c += 1 < i # -e:1: non float value (TypeError) ( monami-ya.mrb:60510200 mruby:70410200 )
# a[n] && yield(a[n], c + i) && (next a.delete_at(n)); n += 1
a[n] && yield(a[n], i - c) && (next a.delete_at(n)); n += 1
# (v = a[n]) && yield(v, i - c) && a.delete_at(n) || n += 1
.
122d
96d
35,36c
@@ts = 1 # = (@@rmth >> 1) + 1 # = $$ + 1 # = 68060
# @@mh_thl = (0 .. 1).to_a.map { |n| 'th' + n.to_xeh}
@@mh_thl = nil

def mh_thl
@@mh_thl ||= (0 .. 1).to_a.map { |n| 'th' + n.to_xeh}
end
.
16d
10c
:ADD, :ADDI, :SUB, :SUBI, :MUL, :DIV, :EQ, # :LOADF,
.



--
YAMAGUTIseisei ( str_h__namae = { :sei => "山口" , :mei => "青星" } )

YAMAGUTIseisei

unread,
Jan 10, 2021, 5:37:23 AM1/10/21
to
1492,1496c
sl.slp # {GC.start} # g
.
1484d
1473,1479c
ise[i_i_d]<< [pfl[0], isfl(pfl[1])] # p
.
1471d
1453c
# @pc = rg['pc']
@pc = pc = rg['pc']
.
1440c
# lpl.plini
.
1429,1434d
1425,1426c
# rg.push('pc', rg['pc', -1] + 1)
# rg.push('sp', rg['sp', -1])
rg.push('pc', pc = rg['pc', -1] + 1)
rg.push('sp', rg['sp', -1])
.
1419,1423d
1415c
(pctj<< (pco[0] = pc) + 1) if ifj.(sym) # p # c
.
1411,1412c
[(ifj.(sym) || ifs.(sym)) || ( # c 2
ist.(pc) if pctj.pop != pc && istm.call; false), # c
.
1408,1409c
sym = rg['sym']
loc.verb "#{pc.to_xeh} #{sym} #{rg['cop'].to_xeh}" if 0 <= rg.p
.
1404,1405c

opg.(pc) # c
.
1370c
# pfl[0] = pcf.abs # cp
pfl[0] = -pcf # cp
.
1368c
# if pcf.abs == rg['pc'] # cp
if -pcf == rg['pc'] # cp
.
1361a
# stack.cs c
stack.c = c # fuantei ?
.
1356,1358c
# @@opg = ->(irep, rg, imem) { # l
opg = ->(pcl) { # l
.
1351a
# stack.cs rg['cop']
stack.c = rg['cop'] # fuantei ?
.
1331a
### GC.disable # g
.
1307c
# stack[0] = stack[rou.getarg_a(cop)]
stack[0] = stack.getarg_a
.
1304c
# return stack[rou.getarg_a(cop)]
return stack.getarg_a
.
1302a
# @rmt.join # higokan ? mruby-thread:410200

.
1300a

# stack.idel(irep)
stack.idel(@irepid)

.
1289,1290d
1287c
# ! stack[rou.getarg_a(cop)]
! stack.getarg_a
.
1282c
# stack[rou.getarg_a(cop)]
stack.getarg_a
.
1274,1275d
1262c
# rg = Rg.new([['pc', @pc], ['sp', @sp], ['cop'], ['sym']])
rg = Rg.new([['pc', pc], ['sp', @sp], ['cop'], ['sym']])
.
1260c
i_i_d = 0; i_i_s = 1;
.
1258d
1256a
pc = @pc
.
1255c
ise = [[], []]
.
1248a
# stack.rs(rou = @Rou)
stack.r = rou = @Rou
.
1234d
1118,1127c
# pl.pl_es(pc1, opg.(thi).push( # c
# *['ctr', [sp]] + [[:ctr_s, pc1], []][thi <=> 0]))
pl.pl_es(pc1, opg.(thi) + # c
['ctr', [sp]] + [[:ctr_s, pc1], []][thi <=> 0])

.
1100,1106c
# when 'th' then fv = fvl[oi <=> 0].(oi) # c
when 'th'
# fv = fvl[-1].(oi); fvl.delete_at(((1 <=> fvl.size) << 1) + 1) # c
fv = fvl[-1].(oi); fvl.delete_at(((0 <=> fvl.hgt) << 1) + 1) # c
.
1091,1093c
# fvl = [->(oi) {[thl[oi], ta.(fv[oi]), thl[oi + 1], []]}, # l # c
# ->(oi) {((oi <= ht = fv.hgt) && fv[oi] = ta.(fv[oi])) ? # l # c
# [thl[oi], fv[oi]] : []}] # .lazy
fvl = [->(oi) {((oi <= ht = fv.hgt) && fv[oi] = ta.(fv[oi])) ? # l # c
[thl[oi], verb.(fv[oi])] : []}, # c
->(oi) {[thl[oi], verb.(ta.(fv[oi])), thl[oi + 1], []]}] # .lazy # l # c 2
.
1087c
verb = ->(verb) { # l
# loc.verb("#{pc.to_xeh} #{verb[0]} #{verb[1].to_xeh}")
verb
}
.
1083c
ta = ->(ta) { # l
.
1052c
# ca.force[ #? mruby 410200
ca[
flg.inject(0) { |rv, v| rv = v ? 0 : 1 | rv << 1}].call
.
1030d
1023c
# sym, (r0, r1) = rslt pl # higokan mruby 70410200 # bce75e27 2211410200 matz http://mruby-master-changes.hatenablog.com/entry/2014/11/24/114903
.
1018c
# Fiber.new { |m = 1|
Fiber.new { |m = 1, f = false, flg = [false, false]|
.
1011c
] # .lazy #? mruby 410200
.
1009c
# rs[0] = r1.to_xeh},
rs[0] = r1},
.
1007c
# rs[1] = r0.to_xeh},
rs[1] = r0},
.
1005c
# plr<< s.ow?(n) ? nil : lm.(s[n]) # p # c
.
1002,1003c
# plr += lm.(s[sz .. sz + ap -= ap >> 2], 'empty?') # c
# ].lazy.to_a[s.s.size <=> 0] # .force # c
.
995,997c
# ((sw = sp + sz) + 0xe).step(sw, -1) { # higokan mruby 70410200 # bbab89e7 5211410200 tmtm http://mruby-master-changes.hatenablog.com/entry/2014/11/26/203350
0 == s.size ? @Slp.slp(0) :
.
993c
# rs = [r1.to_xeh, r0.to_xeh]},
rs = [r1, r0]},
.
980,982c
lm = ->(r1) {r1 && imem.send(pr, *isr0, r1, mt)} # l
# lm = ->(r1) {imem.send(pr, *isr0, r1, mt)} # l
# lm = ->(r1) {r1.empty? ? r1 : imem.send(pr, *isr0, r1, mt)} # l
.
969c
# m = 1; wo = []
.
967c
# f = false; flg = [false, false]
.
927,929c
# r[1] = knid(pl[lpl.afl('ctr', ?i)][0], :Array) && # q
# r[1] = lpl.ckth(pl[lpl.afl('ctr', ?i)][0], 0) && # q
# lpl.ckth(pl[lpl.afl(thl[1], ?i)], 3) ? # q
# pl[lpl.afl(thl[1], ?i)] : [] # t # q

r[1] = pl[lpl.afl(thl[1], ?i)] # q
(lpl.ckth(pl[lpl.afl('ctr', ?i)][0], 0) && lpl.ckth(r[1], 3)) || r[1] = [] # q # t
.
912,919c
# include M__Wkth # higokan ? monami-ya.mrb:60510200 mruby:70410200

# def wkth(pc = 1)
.
873c
### GC.disable # g # gene gc enable : mruby 6170410200 d17506c1
.
868d
864a
# @pll = [thini, thini, [], []]
# @pl = ENVary.new(rmth + 1, thini, thini, [], [])
## @pl = ENVary.new(rmth + 1, *@pll)
.
829a

# module M__Wkth
def wkth(pc = 1)
# Thread.new($pcmax) { |pcmax|
# Thread.new(@pl, pc) { |pl, pc| # @Imem,
# pl.plm(pc)
Thread.new(pc) { |pc|
Pl.new.plm(pc)
}
end
# end

# include M__Wkth # higokan ? monami-ya.mrb:60510200 mruby:70410200 # omoi ?

.
815,822d
808,812c
# i ||= @s.assoc('ctr')[1] + 1
# @s.assoc(a[0])[@i] = a[1]
# @s.assoc(a.shift)[a[0] || @i] = v
# 'pc' == k && case v when Numeric then v == @s.assoc(k)[i] && v = -v end # cp
@s.assoc(k)[i] = v
.
805,806d
795,797c
# i ||= @s.assoc('ctr')[1] + 1
@s.assoc(k)[i]
# v = @s.assoc(k)[i]
.
792,793d
787c
@s.map { |v| v.dup}
.
780,782d
776c
@s.assoc(a.shift).delete_at a[0]
.
772c
@s.assoc(a.shift).delete_at 1
.
768c
@s.assoc(a.shift).pop
.
764c
@s.assoc(a.shift)<< a[0] # p
.
759c
@s = a.shift
.
747c
def owc(i = @ir) i = owasoc(i) && @@ow.delete_at(@@ow.index(i)) end

# def rs(r = nil)
# @r = r
# end

# def cs(c = nil)
# @c = c
# end

def getarg_a
@s[@r.getarg_a(@c) + @p]
end
.
724c
def idel(i)
@@ow.delete(owasoc(i))
end

def owasoc(i) @@ow.assoc(i) end
.
721c
owasoc(i) || (
@@ow<< [i, []] # p
0xf < @@ow.size && @@ow.shift
@ir = i
)
.
712a
# @@ow[@@ow.owasoc(i)] # <<
# @@m.lock
# @i_i = @@ow.owasoc(i)
# @@m.lock
.
692c
# @p = sp; @s = s; @ir = nil
# @p = sp; @s = s; @ir, @i_i = nil
@p = sp; @s = s; @ir, @i_i, @c, @r = nil
.
685,686c
@@m = Mutex.new
# attr_accessor :p, :s
# attr_accessor :p, :s, :r
attr_accessor :c, :p, :s, :r
.
645c
### GC.start # g # antei ?
.
638c
# (flg = [true][ith]) || redo ###
.
612c
# ckth(th[idx], 2) && th[idx] = pl_eg(pc, thl[idx])
( # th[idx].nil? || # fuguai taisaku ?
ckth(th[idx], 2)) && th[idx] = pl_eg(pc, thl[idx])
.
607,610c
# ((m >> 2) + 1).times { |n| m = Fiber.yield([flg || mx < thi][n])}
sl.plwt(m) { |n| m = Fiber.yield([flg || mx < thi][n])}
.
605d
602c
# idx += 1 if mx > idx
idx += (mx <=> idx) + 1 >> 1
.
591c
# if ckth(th[idx], 1)
if # th[idx] && # mx >= idx && # fuguai taisaku ?
ckth(th[idx], 1) then
.
581d
576,578c
# Fiber.new { |m = 1| 0 < m && Fiber.yield(false)
Fiber.new { |m = 1, thi = 0| 0 < m && Fiber.yield(false)
.
572d
569,570c
# thi = 0
.
563d
559d
547,548c
# case a when Numeric then true end ||
case a when Numeric then nil else [a, op] end &&
(loc = @@Loc).verb("#{pc.to_xeh} #{a} #{op.to_xeh}")
]
.
541,544c
# opc, op = a
.
534,535c
knid(a, :Array) ? s_id(a, pc) : a # __method__(a, pc) : #? mruby 410200
# case a when Array then s_id(a, pc) else a end # __method__(a, pc) else #? mruby 410200 # omoi ?
.
529a
# (tb == a || knid(a, :Array).! || 0 >= a.hgt) && (return a)
.
472,474d
467c
# knid(k, :Symbol) && (aa.push(k, v); next)
.
441,445c
# 0 == n && pl.map! { |a| a[1]}
# pl
0 == n ? pl.map! { |a| a[1]} : pl
.
417,418c
@@Loc.plok(n) { |a| JSON::parse(ENV[@@idb + a[0]])}
.
406,407c
@@Loc.plok(n, v) { |a| ENV[@@idb + a[0]] = JSON::generate(a[1])}
.
384c
a || return # 410200plini
.
379d
366c
# @@Slp = SLP
@@Slp = SLP.dup
.
345a

def method_missing(*a)
# '__' == a[0][0 .. 1] ? # higokan mruby 70410200
'__' == (a[0] = a[0].to_s)[0 .. 1] ?
self.mmis(?s << a[0], *a[1 .. -1]) :
self.mmis(:s__send, *a[1 .. -1])
end
.
341d
337,339c
# def method_missing(*a)
def mmis(*a)
# a[0] = ?s << a[0].to_s # q
case a[3] # a[@@I_s__r1 + 1]
.
333a
def s__send( *a) a[0].send(a[3])[a[1]] end
.
325c
# @@I_s__stack = @@I_s__irep =
# @@I_s__i = 0; @@I_s__r0 = 1; @@I_s__r1 = 2; @@I_s__mt = 3
.
264,265c
# def initialize
# end
.
239,240c
#LOC = Loc.new(FL << '.loc')
## LOC = Loc.new(FL << '/loc') # RISC OS ?
LOC = Plok.new(FL << ?. << 'lok'.replace('loc')) # q
# LOC = Plok.new(FL << '/' 'lok'[''] = 'loc') # RISC OS ? # higokan monami-ya.mrb:60510200 mruby:70410200
.
235,236c
#class Loc
class Plok
# include M__Loc
include M__Plok
.
228,231c
### GC.disable # g
# @@m.lock
# puts s
# @@m.unlock
@@mlok.mlok {puts s}
.
225d
223a
## }
## @@m.unlock
.
222a
# ][0]
.
220c
GC.disable # hituyou <-> monami-ya.mrb:60510200 osoku-naru , mruby:70410200 SeguFo(-nado?) # g
## @@m.unlock
# [yield(a), ## @ji_ngq &&
[yield(a), GC.start, ## @ji_ngq && # g
.
218c
end ## if @ji_ngq
.
209d
204,207c
# def ploc(*a)
def plok(*a)
## @@mlok.mlok {
## @@m.lock
# GC.disable # g
.
201a
## @ji_ngq = true
.
199a
# attr_accessor :ji_ngq

.
196c
# @@m = Mlok.new
@@mlok = MLOK
# @@m = Mutex.new
.
194c
#module M__Loc # Inspired by Professor NAGAI Hidetosi http://rubykaigi.org/2011/ja/schedule/details/17S05/#KyuTech
module M__Plok # Inspired by Professor NAGAI Hidetosi http://rubykaigi.org/2011/ja/schedule/details/17S05/#KyuTech
.
166c
# [true][Time.now.to_f.to_s.split(?.)[1].to_i & 15] && GC.start # q # g
.
161,162c
# (r - 1).times {sleep 0}; r.times {sleep t} # antei ?
# (r - 1).times {sleep 0}
.
156,159c
## (r - 1).times {usleep 0}; GC.start; r.times {usleep t} # g # conf.gem :github => 'kimushu/mruby-sleep' # msleep usleep
## (r - 1).times {msleep 0}; GC.start; r.times {msleep t} # g # usleep yobi
## (r - 1).times {sleep 0}; GC.start; r.times {sleep t} # g # fuantei ( keisan gosa ) ?
(r - 1).times {usleep 0}; b && yield; r.times {usleep t} # g # conf.gem :github => 'kimushu/mruby-sleep' # msleep usleep
# (r - 1).times {msleep 0}; b && yield; r.times {msleep t} # g # usleep yobi
# (r - 1).times {sleep 0}; b && yield; r.times {sleep t} # g
# (r - 1).times {usleep 0}; r.times {usleep t}
.
154c

# def s__slp(t = @@slp, r = 1)
# Time.now.to_f
# end

# def slp(t = @@slp, r = 1)
def slp(t = @@slp, r = 1, &b)
.
148a
# @@m = Mlok.new
# @@m = MLOK

# @@slp = 7; @@slp =
# (((NSL_ >> 9 - @@slp) + (NSL_ >> 7 - (@@slp - 7))) >> @@slp) + 1 >> 1
.
147a
module M__Mlok
@@m = nil

def initialize(m = @@m)
@m = m ||= Mutex.new
end

def mlok(&b)
@m.lock
yield
@m.unlock
end
end

class Mlok
include M__Mlok
end

MLOK = Mlok.new


.
140c
## )][0] ? self.replace(a) : # f ? self.replace(a) : # higokan taisaku ?
a
.
132,138c
n = 0; c = i + 1 ## c = -i - 1 ### c = (n = 0) - 1
while 0 < c -= 1 ## 0 > c += 1 ### i > c += 1 # c += 1 < i # -e:1: non float value (TypeError) ( monami-ya.mrb:60510200 mruby:70410200 )
a[n] && yield(a[n], i - c) && (next a.delete_at(n)); n += 1 ## i + c ### c
# (v = a[n]) && yield(v, i - c) ? a.delete_at(n) : n += 1
.
130c
## [! a, ( # higokan taisaku ?
a ||= self # a ||= f = self # a ||= (f = true; self)
.
89a
## i + (((0 <=> i) + 1 >> 1 << 0x20) - 1 & i << 1)
.
29a
# class GC # monami-ya.mrb # http://www.monami-ya.jp/
# end
# def GC.start() end
# def GC.disable() end

.
23,24c
# NSL_ = 6309 # nanosleep() # OSX/PPC : 20486309 ?
NSL_ = 10065 # nanosleep() # OSX/PPC : 204810065 ?
.
21c
# GC.start # g
.
14c
# :pool, :syms,
:s__send, :pool, :syms, # :ji_ngq,
.
12d
6c
:+, :-, :*, :/,
:Array, :Numeric, :Fixnum, :Symbol, # :String,
.



--
YAMAGUTIseisei ( str_h__namae = { :sei => "山口" , :mei => "青星" } )

YAMAGUTIseisei

unread,
Mar 28, 2021, 11:49:08 AM3/28/21
to
1543d
1519,1520d
1515,1516d
1468d
1465d
1376c
# end && rg['pc', -1] = rg['pc'] + rou.getarg_sbx(cop)

sym = (c = [nil, 0, 1][[:JMP, :JMPIF, :JMPNOT].index(sym)]) &&
stack.getarg_a
(! c || [sym, ! sym][c]) &&
rg['pc', -1] = rg['pc'] + rou.getarg_sbx(cop)
.
1371,1374c
# when :JMPNOT
### if !@stack[@sp + getarg_a(cop)] then
## ! stack[rou.getarg_a(cop)]
# ! stack.getarg_a
.
1358,1368c
# when :JMP
### @pc = @pc + getarg_sbx(cop)
### pc = pc + lpl.getarg_sbx(cop) - 1
## true

# when :JMPIF
### if @stack[@sp + getarg_a(cop)] then
### @pc = @pc + getarg_sbx(cop)
## stack[rou.getarg_a(cop)]
# stack.getarg_a
.
1355c
# case sym
.
1348d
1333d
1211c
# ['ctr', [sp]] + [[:ctr_s, pc1], []][thi <=> 0])
[:ctr, [sp]] + [[:_ctr_s, pc1], []][thi <=> 0])
.
1208,1209d
1195d
1193d
1181,1183d
1178a
# thl = @@mh_thl
.
1170c
ta = ->(ta) { # l
.
1152a
tb = TB
.
1142c
# loc.verb "#{pc.to_xeh} #{sym} #{rs[1]} #{rs[0]}"
c_l.verb(pc)
.
1130,1139c
# r0, r1 = r
# if ji_ngq[0]
# pr || (pr, sy = imem.fml('st', sym)[1 .. -1]
# ?_ == pr.to_s[1] || mt = pr) # q
# isr0 = [mt ? i : s, r0]
# sz = plr.size
# end
## ca.force[ #? mruby 410200
# ca[
# ji_ngq.inject(0) { |rv, v| rv = v ? 0 : 1 | rv << 1}].call
c_l.ca
.
1119,1120c
# f = # ktf &&
# ji_ngq.all?
.
1107,1117c
# if ! f || ! ktf
## pl = lpl.pl_g(pc1) ##
f = c_l.plg(pc1) && c_l.rslt
## sym, (r0, r1) = rslt pl # higokan mruby 70410200 # bce75e27 2211410200 matz http://mruby-master-changes.hatenablog.com/entry/2014/11/24/114903
# sym, r, ji_ngq = rslt(pl)

## sp = sp[0] if (ktf = knid(sp, :Array))

## if ji_ngq[0] && 0 > (sp || s.p = sp = pl[i_sp].flatten[0])
# ji_ngq[0] && s.ps(pl[i_sp].flatten[0]) { |i| # && 0 <= sp
# 0 > i ? (ji_ngq[1] = ! ! r[1] = r[0]; ~ i) : i
# }
.
1103,1104c
# Fiber.new { |m = 1, f = false, ji_ngq = [false, false]|
Fiber.new { |m = 1, f = false|
.
1063,1096c
# lm = ->(r1) {r1 && imem.send(pr, *isr0, r1, mt)} # l
## lm = ->(r1) {r1.empty? ? r1 : imem.send(pr, *isr0, r1, mt)} # l

# ca = [
# -> { # f
## r = r1 < sz && plr[r1] || lm.(r1) # c
# r = (r = plr[r1] ; r1 >= sz ||
# r.nil?) ? lm.(r1) : r # c
# s[r1] = sy ? [s[r1], r].inject(sy) : r
## 0 == m && wo.include?(r) || wo.push(r).sort!
## rs = [r1.to_xeh, r0.to_xeh]},
# rs = [r1, r0]},
# -> { # ji_ngq[0]
## ((sw = sp + sz) + 0xe).step(sw, -1) { # higokan mruby 70410200 # bbab89e7 5211410200 tmtm http://mruby-master-changes.hatenablog.com/entry/2014/11/26/203350
# 0 == s.size ? @Slp.slp(0) :
## [sl.slp(0),
## sz.step(sz + ap -= ap >> 2) { |n| plr<< lm.(s[n])} # p # c
# plr += lm.(s[sz .. sz + (ap = (ap += ap >> 1) >> 1)]) # + (ap <=> 0)]) # c
## plr += lm.(s[sz .. sz + ap -= ap >> 2]) {r1.empty?} # ? # c
## plr += lm.(s[sz .. sz + ap -= ap >> 2], 'empty?') # c
## ].lazy.to_a[s.s.size <=> 0] # .force # c
## (sz + ap -= ap >> 2).downto(sz) { |n|
## plr<< s.ow?(n) ? nil : lm.(s[n]) # p # c
## }
## rs[1] = r0.to_xeh},
# rs[1] = r0},
# -> { # ji_ngq[-1]
## rs[0] = r1.to_xeh},
# rs[0] = r1},
# -> {}
# ] # .lazy #? mruby 410200
.
1059,1060c
# sz = 4; @@fls_m || (ap = (1 << sz) - 1 - 1)
# sz -= 2; ap = @@fls_m ||= ((ap << sz) + ap >> sz - 1) + 1 >> 1
.
1050,1057c
sym = nil
# r = nil; rs = [?-, ?-] # q 2
rs = [?-, ?-] # q 2
## wo = []
.
1047a
# pl, sp, r, r0, r1, sym, sy, pr = nil
# pl, r, r0, r1, sym, sy, pr = nil
.
1044c
# s.irep(i = @irep)
s.irep(i = @irepid)

c_l = Fls__l.new(loc, s, i, imem, lpl)
.
1042c
s = Stack.new # ; plr = []
.
1025,1029c
# @@fls_m = nil
.
1022c
# r[1] = pl[lpl.afl(thl[1], ?i)] # q
# (lpl.ckth(pl[lpl.afl('ctr', ?i)][0], 0) && lpl.ckth(r[1], 3)) || r[1] = [] # q # t
r[1] = pl[lpl.afl(thl[1], ?i)] || @r[1] # q # fuguai taisaku
(lpl.ckth(pl[@i_sp][0], 0) && lpl.ckth(r[1], 3)) || r[1] = [] # q # t

@sym, r, ji_ngq =
[pl[lpl.afl('sym', ?i)].to_sym, r, r.map { |v| lpl.ckth(v, 1)}] # q

ji_ngq[0] && @s.ps(pl[@i_sp].flatten[0]) { |i| # && 0 <= sp
0 > i ? (ji_ngq[1] = ! ! r[1] = r[0]; ~ i) : i
}

@r = r
@f = (@ji_ngq = ji_ngq).all?
end

def plg(pc)
@f || ! ((@pl = @lpl.pl_g(pc)).empty? && @r.empty?) # fuguai taisaku
end

def verb(pc)
return if -1 == @rs[i = @mh_thl.size] # r

@loc.verb "#{pc.to_xeh} #{@sym} #{@rs[1]} #{@rs[0]}"

@f && @rs[i] = -1
end
.
1019,1020c
# r = [pl[lpl.afl(thl[0], ?i)]] # q
r = [pl[lpl.afl(thl[0], ?i)]] || @r[0] # q # fuguai taisaku
.
1016c
# r = Array.new(thl.size) { |n| pl[lpl.afl(thl[n], ?i)]} # q
.
1014c
thl = mh_thl
# thl = @@mh_thl
.
1011,1012c
def rslt # (pl)
lpl = @lpl
pl = @pl
.
1009a
#
## r = Array.new(thl.size) { |n| pl[lpl.afl(thl[n], ?i)]} # q
#
## r.map { |v| v[1] = v[-1]}
## r = r.map { |v| v[1] = v[-1]} # higokan ? mruby 70410200
#
# [pl[lpl.afl('sym', ?i)].to_sym, r, r.map { |v| lpl.ckth(v, 1)}] # q
# end

class Fls__l
include M__H
@@fls_m = nil
@@mh_thl = nil

def initialize(loc, s, irep, imem, lpl)
(
@loc = loc
@s = s; @i = irep; @imem = imem; @lpl = lpl

@mh_thl = @@mh_thl ||= mh_thl

@isr0, @pr, @sym, @mt, @r, @r0, @r1 = nil; @rs = [?-, ?-] # q 2
@f = false; @ji_ngq = [false, false]
@sz = 1
sz = 4; @@fls_m || (ap = (1 << sz) - 1 - 1)
sz -= 2; @ap = @@fls_m ||= ((ap << sz) + ap >> sz - 1) + 1 >> 1

@pl = []; @plr = []
lm = ->(r1) {r1 && @imem.send(@pr, *@isr0, r1, @mt)} # l
@ca = [
-> { # f
# @r = @r1 < @sz && @plr[@r1] || @lm.(@r1) # c
sz = (sz = @plr[@r1] ; @r1 >= @sz ||
sz.nil?) ? lm.(@r1) : sz # c
s[@r1] = @sy ? [s[@r1], sz].inject(@sy) : sz
# 0 == m && wo.include?(r) || wo.push(r).sort!
# [[@r1, @r0], @sym]
@rs = [@r1, @r0]
},
-> { # ji_ngq[0]
## ((sw = sp + sz) + 0xe).step(sw, -1) { # higokan mruby 70410200 # bbab89e7 5211410200 tmtm http://mruby-master-changes.hatenablog.com/entry/2014/11/26/203350
# @sz.step(@sz + @ap -= @ap >> 2) { |n| @plr<< @lm.(s[n])} # p c
0 == s.size ?
# Slp.new.slp(0) :
## @Slp.slp(0) :
nil :
@plr += lm.(s[sz = @sz .. # c
sz + (@ap = (sz = @ap; sz += sz >> 1) >> 1)]) # + (@ap <=> 0)]) # sz = @ap >> 1) + (sz >> 1)])
# plr<< s.ow?(n) ? nil : lm.(s[n]) # p c
@rs[1] = @r0 # ; [@rs, @sym]
},
-> { # ji_ngq[-1]
@rs[0] = @r1 # ; [@rs, @sym]
},
-> { # [@rs, @sym]
}
] # .lazy #? mruby 410200

# plb = Plb
# i_th = lpl.afl('th', ?i) # q
# @i_sp = plb.assoc('sp')[1]
@i_sp = lpl.afl('ctr', ?i) # q
)
end

def ca # (i)
# @sp ||= @s.p = @pl[@i_sp][0]
@r0, @r1 = @r

if (ji_ngq = @ji_ngq)[0]
@pr || (@pr, @sy = @imem.fml('st', @sym)[1 .. -1]
# ?_ == @pr.to_s[1] || @mt = @pr) # q
?_ != @pr.to_s[1] || @mt = @pr) # q
@isr0 = [@mt ? @i : @s, @r0]
@sz = @plr.size
end

# (@ca).force[ #? mruby 410200
# @ca.force[ #? mruby 410200
@ca[
ji_ngq.inject(0) { |ca, v| ca = v ? 0 : 1 | ca << 1}].call
end
.
1007d
998,1005c
# def rslt(pl)
# lpl = @pl
# thl = mh_thl
#
# r = [pl[lpl.afl(thl[0], ?i)]] # q
.
696d
680d
665d
662d
657,658c
# idx += (mx <=> idx) + 1 >> 1
idx -= (idx <=> mx) >> 1
.
650,651c
# 0.step(idx) { |n| pl_es(pc, [thl[n], th[n]])}
a = []; 0.step(idx) { |n| a.push(thl[n], th[n])}
pl_es(pc, a)
.
644d
641a
# th[idx], t = s_id(th[idx]) # if mx >= idx # && ckth(th[idx], 3)
.
633a
t = nil
.
631d
626d
618a
# thl = @@mh_thl
.
616a
loc = @@Loc
.
606a
# knid(a, :Numeric).! && [a, op]]
# case a when Numeric then nil else [a, op] end]
.
605a
## knid(a, :Numeric).! &&
.
604d
602a

a = (@@Imem).str__getarg(a)

.
594,595c
# knid(a, :Array) ? s_id(a, pc) : a # __method__(a, pc) : #? mruby 410200
knid(a, :Array) ? s_id(a) : a # __method__(a) : #? mruby 410200
## case a when Array then s_id(a, pc) else a end # __method__(a, pc) else #? mruby 410200 # omoi ?
# case a when Array then s_id(a) else a end # __method__(a) else #? mruby 410200 # omoi ?
.
589,591c
((tb = TB.dup) == a || knid(a, :Array).!) && (return a)
.
536c
# aa.each_slice(2) { |k, v| send(k, v)}
aa.each_slice(2) { |k, v| send(k[1 .. -1], v)}
.
530c
?_ == (k = k.to_s)[0] && (aa.push(k, v); break) # q
.
505,507c
# 0 == n ? pl.map! { |a| a[1]} : pl
0 == n ? pl.map { |a| a[1]} : pl
.
461c
# plini(@@rmth) # 410200plini
.
452,453d
432d
407,410c
## '__' == a[0][0 .. 1] ? # higokan mruby 70410200
# '__' == (a[0] = a[0].to_s)[0 .. 1] ?
# '__' != a[0][0 .. 1] ? # higokan mruby 70410200
'__' != (a[0] = a[0].to_s)[0 .. 1] ?
# self.mmis(?s << a[0], *a[1 .. -1]) :
# self.send(:s__send, *a[1 .. -1])
self.mmis('s__' << a[0], *a[1 .. -1]) :
self.mmis(:s__send, a[1].to_s[2 .. -1], *a[2 .. -1])
.
398d
396d
325a
# (f = @@fml).(lb).assoc(sym) # c
.
324a
# @fml.(lb).assoc(sym) # c
.
323a
def str__getarg(s)
?_ == s.to_s[0] && s = "getarg" << s # q
s
end

def ta(l, cop) [l[0] || :getarg_a, l[1] || cop][0 .. l[2] || 1] end

.
321a
# @fml = @@fml
.
303,309c
# [:MOVE, :__sr0], [:LOADL, :pool],
# [:LOADI, :__r0 ], [:LOADSYM, :syms],
# [:LOADSELF, :__sr0], [:LOADT, :__r0],
# [:ADD, :__sr01, :+], [:ADDI, :__r0, :+],
# [:SUB, :__sr01, :-], [:SUBI, :__r0, :-],
# [:MUL, :__sr01, :*], [:DIV, :__sr01, :/],
# [:EQ, :__r1_eq_sr01]],
[:MOVE, :sr0], [:LOADL, :__pool],
[:LOADI, :r0 ], [:LOADSYM, :__syms],
[:LOADSELF, :sr0], [:LOADT, :r0],
[:ADD, :sr01, :+], [:ADDI, :r0, :+],
[:SUB, :sr01, :-], [:SUBI, :r0, :-],
[:MUL, :sr01, :*], [:DIV, :sr01, :/],
[:EQ, :r1_eq_sr01]],
.
294,295d
290d
288d
281,283d
269d
251d
235d
217a
include M__H
.
205d
202a

.
194,196d
191d
180a
# @@slp = 2; @@slp =
# (((NSL_ >> @@slp) + (NSL_ >> 5 + @@slp)) >> 9 - @@slp) + 1 >> 1

.
145c
)][0] ? self.replace(a) : # f ? self.replace(a) : # fuguai taisaku
.
140,142c
# n = 0; c = i + 1 ## c = -i - 1 ### c = (n = 0) - 1
# while 0 < c -= 1 ## 0 > c += 1 ### i > c += 1 # c += 1 < i # -e:1: non float value (TypeError) ( monami-ya.mrb:60510200 mruby:70410200 )
# n = fr.abs; c = fr.sgp - 1 # aisyou ( sureddo )
n = fr.abs; c = (fr + fr.abs >> 1) - 1
while i > c += 1 # c += 1 < i # -e:1: non float value (TypeError) ( monami-ya.mrb:60510200 mruby:70410200 )
# a[n] && yield(a[n], i - c) && (next a.delete_at(n)); n += 1 ## i + c ### c
a[n] && yield(a[n], c) && (next a.delete_at(n)); n += 1
.
137c
[! a, ( # fuguai taisaku
.
132c
# def delif_c(i = @@ts, a = nil)
def delif_c(i = @@ts, a = nil, fr = 0)
.
130a
# def delif_c(i = nil)
.
40,41c
@@ts = 2 # = (@@rmth >> 1) + 1 # = $$ + 1 # = 68060
.
24,25c
NSL_ = 6309 # nanosleep() # OSX/PPC : 20476309 ?
# NSL_ = 10065 # nanosleep() # OSX/PPC : 20480065 ?
.
17c
# :ctr_s, :p, :s, :fibt].clear
# :ctr_s, :p, :s, :r, :c, :fibt].lazy.force.lazy
:p, :s, :r, :c,
:ctr_s, :fibt].lazy.force.clear.lazy
.
13,14c
:__sr0, :__r0, :__sr01, :__r1_eq_sr01, # :__i__r0,
.
6c
# :+, :-, :*, :/,
:-, :/, :*, :+,
.



--
YAMAGUTIseisei ( str_h__namae = { :sei => "山口" , :mei => "青星" } )
http://hello.to/seisei/ mailto:seisei@.68..net
日が照つてゐた 今から五億年前に ──高橋新吉

YAMAGUTIseisei

unread,
Apr 24, 2021, 8:28:22 PM4/24/21
to
1690,1691c
## @rmt.kill # nil ( monami-ya.mrb 60510200 ) , Assertion failed: ((obj)->tt != MRB_TT_FREE), function mrb_gc_mark, file src/gc.c, line 591. ( mruby 70410200 )
### @rmt.join
# @rmt.each(&:kill)
.
1666,1670d
1624c
# loc.vrb "#{pc.to_xeh} #{sym} #{rg['cop'].to_xeh}" if 0 <= rg.p
loc.vrb [1, pc, sym, rg['cop']] if 0 <= rg.p
.
1510a
# @rmt.each { |rmt| rmt.join} # .alive?
.
1486d
1480d
1475d
1469d
1435c
# ri ||= true == fb || true == fb.resume && fb = true
(ri ||= fb && true == fb.resume) && fb = nil
.
1337c
# sp = [sb].flatten
sp = [sp].flatten
.
1326d
1313c
# fv = fvl[-1].(oi); fvl.delete_at(((0 <=> fvl.hgt) << 1) + 1) # c
fv = (fvl.delete_at(((0 <=> fvl.hgt) << 1) + 1) || fvl[0]).(oi) # c
.
1303,1305c
# fvl = [->(oi) {((oi <= ht = fv.hgt) && fv[oi] = ta.(fv[oi])) ? # l # c
# [thl[oi], verb.(fv[oi])] : []}, # c
# ->(oi) {[thl[oi], verb.(ta.(fv[oi])), thl[oi + 1], []]}] # .lazy # l # c 2
fvl = [->(oi) {((oi <= ht = fv.hgt) && fv[oi] = imem.ta(fv[oi], cop)) ? # l
[thl[oi], verb.(fv[oi])] : []}, # c
->(oi) {[thl[oi], verb.(imem.ta(fv[oi], cop)), thl[oi + 1], tb]}] # .lazy # l # c
.
1300a
thl = MH_THL
.
1299c
# thl = mh_thl
.
1290,1293c
# sb = sp
# ta = ->(ta) { # l
# [ta[0] || (sb = ~ [sp].flatten[0]; :getarg_a), ta[1] || cop][
# 0 .. ta[2] || 1] }
.
1284c
loc.vrb("Unkown code #{sym} ") # .to_s
.
1247,1263c
# if 0 == m
# c_l.ca # (m)
# end
f = 0 == m && c_l.ca && f
c_l.vrb(pc)
# sl.plwt(m) {m = Fiber.yield(f && 0 == m)}
sl.plwt(m) {m = Fiber.yield(f)}
.
1240,1241d
1237,1238c
# sp = sp[0] if (ktf = knid(sp, :Array))

# f = ktf && ji_ngq.all?
.
1224,1235c
# if f.! || ktf.!
# f = c_l.plg(pc1) && c_l.rslt
f = c_l.plg(pc1) && c_l.rslt(pc)
.
1220d
1216c
# loc.vrb [3, pc, sym, rs[1], rs[0]]
.
1186,1213c
c_l = Fls__l.new(loc, s, i, imem, @pl, sl)
sl = @Slp
)
.
1183,1184c
# sz = 4; @@fls_m || (ap = (1 << sz) - 1 - 1)
# sz -= 2; @ap = @@fls_m ||= ((ap << sz) + ap >> sz - 1) + 1 >> 1
sl = @@fls_m || (f = 4; sl = (1 << f) - 1 - 1
f -= 2; sl = @@fls_m = ((sl << f) + sl >> f - 1) + 1 >> 1)
.
1179,1181c
# sym = nil
# rs = [?-, ?-]
.
1166,1177c
# c_l = Fls__l.new(loc, s, i, imem, lpl)
.
1162d
1160d
1158c
# i_sp = lpl.afl(@pla.assoc('sp')[1], ?i) ## # q
.
1156c
# lpl = @pl # ; plb = @@plb
.
1150d
1148c
@@fls_m = nil
.
1142c
## @loc.vrb "#{pc.to_xeh} #{@sym} #{@rs[1]} #{@rs[0]}"
@loc.vrb [3, pc, @sym, @rs[1], @rs[0]]
.
1139c
def vrb(pc)
.
1131a
ji_ngq = r.map { |v| lpl.ckth(v, 1)}
ji_ngq[0] && @s.p = pl[@i_sp].flatten[0]
@sym ||= pl[lpl.afl('sym', ?i)].to_sym # q

.
1127,1129c
# ji_ngq[0] && @s.ps(pl[@i_sp].flatten[0]) { |i| # && 0 <= sp
# 0 > i ? (ji_ngq[1] = ! ! r[1] = r[0]; ~ i) : i
# }
.
1124,1125c
# sym, (r0, r1) = rslt pl # higokan mruby 70410200 # bce75e27 2211410200 matz http://mruby-master-changes.hatenablog.com/entry/2014/11/24/114903
# @sym, r, ji_ngq =
# [pl[lpl.afl('sym', ?i)].to_sym, r, r.map { |v| lpl.ckth(v, 1)}] # q
.
1116,1122c
# r = [pl[lpl.afl(thl[0], ?i)]] || @r[0] # q # fuguai taisaku
# r[1] = pl[lpl.afl(thl[1], ?i)] || @r[1] # q # fuguai taisaku
# (lpl.ckth(pl[@i_sp][0], 0) && lpl.ckth(r[1], 3)) || r[1] = [] # q # t

# thl.each_with_index { |v, n| r[n] = pl[lpl.afl(v, ?i)]} # q
thl.each_with_index { |v, n|
r[n] = (pl[lpl.afl(v, ?i)] || @r[n]) # q # fuguai taisaku
r[n][0] && knid(r[n][0], :Numeric) && r[n] = r[n][0]
}
r[1] = r[0] if knid(pl[@i_sp][0], :Array) && lpl.ckth(r[1], 2)
.
1110,1111c
thl = MH_THL
r = []
.
1106c
# def rslt # (pl)
def rslt(pc)
.
1103a

@f
.
1094d
1088,1089c
def ca # (m) # (i)
# 0 == m || return

.
1075,1078c
@rs[0] = @r1},
-> {}
.
1072,1073c
# }
@rs[1] = @r0},
.
1064,1070c
0 == @s.size ? nil : # Slp.new.slp(0) : ## @Slp.slp(0) :
# @plr += @lm.(@s[(@sz = @plr.size) .. @sz + @ap -= @ap >> 2]) # c
@plr += lm.(s[(sz = @sz) ..
sz + (ap = (ap += ap >> 1) >> 1)]) # + (ap <=> 0)]) # sz = @ap >> 1) + (sz >> 1)]) # c
# plr<< s.ow?(n) ? nil : lm.(s[n]) # p c
# (sz + ap -= ap >> 2).downto(sz) { |n|
.
1059,1061c
@rs = [@r1, @r0]},
.
1054c
# @r = @r1 <= @sz && @plr[@r1] || @lm.(@r1) # c
.
1047,1048c
# sz = 4; @@fls_m || (ap = (1 << sz) - 1 - 1)
# sz -= 2; @ap = @@fls_m ||= ((ap << sz) + ap >> sz - 1) + 1 >> 1
# @ap = ap
.
1044c
# @isr0, @pr, @sym, @mt, @r, @r0, @r1 = nil; @rs = [?-, ?-] # q 2
@isr0, @pr, @sym, @mt, @r0, @r1 = nil; @r = []; @rs = [?-, ?-] # q 2
.
1042c
# @mh_thl = @@mh_thl ||= mh_thl
@mh_thl = @@mh_thl
.
1037c
# def initialize(loc, s, irep, imem, lpl)
def initialize(loc, s, irep, imem, lpl, ap)
.
1033,1035c
# @@mh_thl = nil
@@mh_thl = MH_THL.dup
.
1015,1030d
994c
thl = MH_THL
.
973a


# @pla = [['sp', 'ctr']]

.
971,972d
845,846c
# def getarg_a
def method_missing(*a)
# @s[@r.getarg_a(@c) + @p]
@s[@r.send(a[0], @c) + @p]
.
837,838c
# def is(i = nil)
# @i = i
.
826,831c
## @p
# end
.
821,824c
#### def ps(i, &b)
## id = self.object_id
## @p = a[0] if ! a.empty?
## @p = pt
## @p = i
## (i == @p) && return(i) # higokan ? mruby 70410200
#### return i if i == @p
## @p = 0 > i ? ~ i : i
#### @p = b ? yield(i) : i
.
818,819c
##def sp(*a)
## def sp(pt)
.
800a
# owi?(i) || (@@ow<< [i, []]; 0xf < @@ow.size && @@ow.shift; @ir = i) # p
.
794a
# a = @s[@p.ipt a[0]] = a[1]
# a = @s[@p + a[0].sgp] = a[1]
.
780a
# s[@p.ipt a[0]]
.
766d
758,759d
678,679c
idx -= (idx <=> mx) >> 1 # idx += (mx <=> idx) + 1 >> 1

t && loc.vrb([2, pc - 1, *t])
#### (loc = @@Loc).verb("#{pc.to_xeh} #{a} #{op.to_xeh}")]
.
676c
# pl_es(pc, [thl[idx], th[idx]])
r = pl_es(pc, [thl[idx], [th[idx]]])
.
670,672c
# a = []; 0.step(idx) { |n| a.push(thl[n], th[n])}
a = []; 0.step(idx) { |n| a.push(thl[n], [th[n]])}
# pl_es(pc, a)
r = pl_es(pc, a)
.
661,662c
# th[idx], t = s_id(th[idx], pc - 1) # if mx >= idx # && ckth(th[idx], 3)
th[idx], t = s_id(th[idx]) # if mx >= idx # && ckth(th[idx], 3)
.
645a
# r = nil
.
639a
thl = MH_THL
.
638d
616,626c
# a, op = a
#
# a = (@@Imem).str__getarg(a)
#
# [self.send(a, op) || op,
# case a when Numeric then nil else [a, op] end]
## knid(a, :Numeric).! && [a, op]]
a[0] = (@@Imem).str__getarg(a[0])
[self.send(*a) || a[1],
case a[0] when Numeric then nil else a end]
# knid(a[0], :Numeric).! && a]
.
606,609c
knid(a, :Array) ? s_id(a) : # __method__(a) : #? mruby 410200
# case a when Array then s_id(a) else # __method__(a) else #? mruby 410200 # omoi ?
a # end
.
602d
600c
# def s_id(a, pc)
def s_id(a)
.
561c
pl_es(0, [:ctr, ctr])
.
546c
# pl[i] = 'ctr' == k && ! knid(v, :Array) ? pl[i]<< v : v # p
pl[i] = knid(v, :Numeric) ? pl[i]<< v : v # p
.
519d
496c
# @@Loc.plok(n) { |a| JSON::parse(ENV[@@idb + a[0]])}
### a = [n]
@@Loc.plok(n) { |a| ### @ca =
JSON::parse( ### @ca =
ENV[@@idb + a[0].to_xeh])
}
.
486c
# @@Loc.plok(n, v) { |a| ENV[@@idb + a[0]] = JSON::generate(a[1])}
@@Loc.plok(n, v) { |a| ENV[@@idb + a[0].to_xeh] = JSON::generate(a[1])}
.
464a
### @ca = nil
.
335c
# def ta(l, cop) [l[0] || :getarg_a, l[1] || cop][0 .. l[2] || 1] end
def ta(l, cop) [l[0] || :_a, l[1] || cop][0 .. l[2] || 1] end
.
320,321c
# [:ADD, [[] ]], [:ADDI, [[:getarg_c ], []]],
# [:SUB, [[] ]], [:SUBI, [[:getarg_c ], []]],
[:ADD, [[] ]], [:ADDI, [[:_c ], []]],
[:SUB, [[] ]], [:SUBI, [[:_c ], []]],
.
317,318c
# [:MOVE, [[:getarg_b ], []]], [:LOADL, [[:getarg_bx ], []]],
# [:LOADI, [[:getarg_sbx ], []]], [:LOADSYM, [[:getarg_bx ], []]],
[:MOVE, [[:_b ], []]], [:LOADL, [[:_bx ], []]],
[:LOADI, [[:_sbx ], []]], [:LOADSYM, [[:_bx ], []]],
.
301,307d
286a

# @@Slp.slp 0
.
285a
case a
when Array
s = a[1].to_xeh << " " * a[0] << "#{a[2]} #{a[3].to_xeh}"
a[4] && s << " #{a[4].to_xeh}"
else
s = a
end

.
284c
def vrb(a)
.
272c
## a[0] = a[0].to_xeh
.
225c
# include M__H
.
151,153c
# (v = a[n]) && yield(v, c) && a.delete_at(n) || n += 1
# end
}
## )][0] ? self.replace(a) : # f ? self.replace(a) # fuguai taisaku
.
147,149c
# n = fr.abs; c = (fr + fr.abs >> 1) - 1
# while i > c += 1 # c += 1 < i # -e:1: non float value (TypeError) ( monami-ya.mrb:60510200 mruby:70410200 )
# i.times.with_index(fr.sgp) { |n, c| # aisyou ( sureddo )
n = fr + fr.abs >> 1
i.times { |c|
.
143,145c
# (i > n = a.size) && i = n
(i > n = a.size - fr.abs) && i = n
.
141c
## [! a, ( # fuguai taisaku
.
133d
118a
include M__H

.
77c
# @@ks ||= (0 .. 9).to_a.join + ?- # * '' higokan mruby 70410200 # ?0.upto # higokan mruby 70410200 # 7221410200 6ccae658 suzukaze http://mruby-master-changes.hatenablog.com/entry/2014/12/27# ? # q
.
46,48c
# def mh_thl
# @@mh_thl ||= (0 .. 1).to_a.map { |n| 'th' + n.to_xeh}
# end
.
44d
31a
MH_THL = (0 .. 1).map { |n| 'th' + n.to_xeh}
.
27,28c
# NSL_ = 6309 # nanosleep() # OSX/PPC : 20476309 ?
NSL_ = 10065 # nanosleep() # OSX/PPC : 20480065 ?
.
14,20c
# :__sr0, :__r0, :__sr01, :__r1_eq_sr01,
# :s__send, :pool, :syms, # :ji_ngq,
:sr0, :r0, :sr01, :r1_eq_sr01,
:s__send, :__pool, :__syms, # :ji_ngq,

# :p, :s, :r, :c,
# :ctr_s, :fibt].lazy.force.clear.lazy
:_ctr_s, :p, :s, :r, :c, :fibt].clear
.
8a
:_a, :_b, :_sbx, :_bx, :_c,
.
7a
:ctr, :th, :th0, :th1, :sym,

.
6d
2a
# Memorial : Merry HongmengOS

.



--
YAMAGUTIseisei ( str_h__namae = { :sei => "山口" , :mei => "青星" } )
http://hello.to/seisei/ mailto:seisei@.68..net
日が照つてゐた 今から五億年前に ──高橋新吉



<Subject: jit-1_-_github__ysei‾mruby-meta-circular-heiretu_-_nightly_-_2_0_2_1_0_3_2_8_8230120200.rb
>Subject: jit-1_-_github__ysei‾mruby-meta-circular-heiretu_-_nightly_-_2_0_2_1_0_3_2_8__8230120200.rb

YAMAGUTIseisei

unread,
Jul 13, 2021, 8:20:28 AM7/13/21
to
1646c
# ise[i_i_d].delif_c(ts) { |fis, n|
ise[i_i_d].delif_c { |fis, n|
.
1640c
# ise[i_i_s].delif_c(ts) { |pfl, n|
ise[i_i_s].delif_c { |pfl, n|
.
1583,1587d
1546d
1513a
@Slp.slp 0
.
1461,1463c
# sym = (c = [nil, 0, 1][[:JMP, :JMPIF, :JMPNOT].index(sym)]) &&
# stack.getarg_a
# (! c || c && [sym, ! sym][c]) &&
# rg['pc', -1] = rg['pc'] + rou.getarg_sbx(cop)

c = [:JMP, :JMPIF, :JMPNOT].index(sym) - 1
(0 > c || (sym = stack.getarg_a; [sym, ! sym][c])) &&
.
1411a
sl.slp 0
.
1408,1409c
# (ri ||= fb && true == fb.resume) && fb = nil
ri ||= true == fb.resume
.
1402a
sl = @Slp
.
1309d
1284,1286c
# when 'th'
# fv = (fvl.delete_at(((0 <=> fvl.hgt) << 1) + 1) || fvl[0]).(oi) # c
when 'th' then fv = fvl[-1].(oi); fvl = fvl[0 .. fvl.size - 2] # c
.
1272,1278c
# fvl = [->(oi) {((oi <= ht = fv.hgt) && fv[oi] = imem.ta(fv[oi], cop)) ? # l
fvl = [
->(oi) {((oi <= ht = fv.hgt) && fv[oi] = imem.ta(fv[oi], cop)) ? # l
[thl[oi], verb.(fv[oi])] : []}, # c
->(oi) {[thl[oi], verb.(imem.ta(fv[oi], cop)), thl[oi + 1], tb]} # .lazy # l # c
]
.
1267,1268d
1264c
## loc.verb("#{pc.to_xeh} #{verb[0]} #{verb[1].to_xeh}")
# loc.vrb(
# "#{pc.to_xeh} getarg#{verb[0]} #{verb[1].to_xeh}")
.
1257c
# bt = imem.fml('th', 'bt')[1 .. -1]
bt = imem.fml_th_bt
.
1230d
1225,1228c
# f = 0 == m && c_l.ca && f
f = c_l.ca(m, pc) && f
.
1213d
1190,1198c
# sl = @@fls_m || (f = 4; sl = (1 << f) - 1 - 1
# f -= 2; sl = @@fls_m = ((sl << f) + sl >> f - 1) + 1 >> 1)
sl = @@fls_m ||= @@fls_mc.(4)
.
1187d
1184d
1175a
@@fls_mc = ->(sz) {
@@fls_m = (1 << sz) - 1 - 1
sz -= 2; sz = ((@@fls_m << sz) + @@fls_m >> sz - 1) + 1 >> 1
@@fls_mc = nil
sz
}
.
1171c
# @f && @rs[i] = -1
@f && @rs[i] ||= -1
.
1168,1169c
### @loc.vrb "#{pc.to_xeh} #{@sym} #{@rs[1]} #{@rs[0]}"
## @loc.vrb "#{pc.to_xeh} #{@sym} #{rs[1]} #{rs[0]}"
@loc.vrb [3, pc, @sym, rs[1], rs[0]]
.
1166c
# return if -1 == @rs[i = @mh_thl.size] # r
return if -1 == (rs = @rs)[i = @mh_thl.size] # r
.
1154c
# ji_ngq = r.map { |v| lpl.ckth(v, 1)}
ji_ngq = r.map { |r| lpl.ckth(r, 1)}
.
1138d
1132,1136c
# r = r.map { |v| v[1] = v[-1]} # higokan ? mruby 70410200
.
1129a
v = [nil, nil]
.
1123d
1109c
@r0, @r1 = @r
# @pr || (@pr, @sy = @imem.fml('st', @sym)[1 .. -1]
@pr || (@pr, @sy = @imem.fml('st', @sym)[1 .. -1][0]
.
1103,1106c
# def ca # (m) # (i)
def ca(m, pc) # (i)
0 == m || return
.
1088c
# plr<< s.ow?(n) ? nil : lm.(isr0, s[n]) # p # c
.
1083,1086c
# @plr += lm.(s[(sz = @sz) .. # c
# sz + (ap = (ap += ap >> 1) >> 1)]) # sz = @ap >> 1) + (sz >> 1)])
# @sz.step(@sz + (@ap = (@ap += @ap >> 1) >> 1)) { |n|
@sz.step(@sz + (ap = (ap += ap >> 1) >> 1)) { |n| # + (ap <=> 0))
@plr<< @lm.(s[n])} # p # c
.
1074,1077c
@r = @r1 <= @sz && @plr[@r1] || @lm.(@r1) # c
s[@r1] = @sy ? [s[@r1], @r].inject(@sy) : @r
.
1071c
@lm = ->(r1) {r1 && @imem.send(@pr, *@isr0, r1, @mt)} # l
.
1066,1068d
1059d
1057c
@s = s; @i = irep; @imem = imem; @lpl = lpl # ; @ap = ap
.
1050d
1041c
pl[0] = [[thl[0], [thini]], [thl[1], [thini]],
['sym', [0]], ['ctr', []]] # @pla = [['sp', 'ctr']]
.
1037,1039d
1026d
1023c
# module M__PlIni # osx/ppc http://master.dl.sourceforge.net/project/hpc/OldFiles/gcc-bin.tar.gz#4p3__3.400 #gcc-tiger-bin.tar.gz#4p1__1.400 # cctools-590.36.dmg # Rake : Ruby1.9+/OSX10.4/PPC ?
.
1002c
# @rmt = wkth
@rmt = []
@@nth.times {@rmt<< wkth} # p
.
978a
@Slp = @@Slp
.
977d
970a
@@nth = NTH
.
857d
855d
849d
828d
785c
# attr_accessor :c, :p, :s, :r
attr_accessor :c, :p, :r
.
712c
( th[idx].nil? || # fuguai taisaku ?
.
705,706c
# t && loc.vrb([2, pc - 1, *t])
v && 0 != vl && loc.vrb([2, pc - 1, *v])
.
702a

r || (next ini.call) # fuguai taisaku ?

.
701a
# r = pl_es(pc, [thl[idx], [th[idx], nil]])
.
700d
693,696c
# a = []; 0.step(idx) { |n| a.push(thl[n], [th[n]])}
# r = pl_es(pc, a)
r = pl_es(pc, (0 .. idx).flat_map{|n| [thl[n], [th[n]]]})
# r = pl_es(pc, (0 .. idx).flat_map{|n| [thl[n], [th[n]], n != mx]})
.
684,685c
# th[idx], t = s_id(th[idx]) # if mx >= idx # && ckth(th[idx], 3)
th[idx], v = s_id(th[idx]) # if mx >= idx # && ckth(th[idx], 3)
.
676c
# t = nil
v = nil
.
674c
# Fiber.new { |m = 1, thi = 0| 0 < m && Fiber.yield(false)
Fiber.new { |m = 1| 0 < m && Fiber.yield(false)
.
669c
# ji_ngq = false
.
662,666c
vl = LV__VRB

idx, thi, ji_ngq = nil # idx = 0 ##
ini = -> {idx, thi = 0; ji_ngq = false}.call # l # fuguai taisaku

## th = Array.new(thl.size) { |v| 0 == v ? pl_eg(pc, thl[v]) : []} # t # unwork ( thread ? ) mruby 10410200
# th = Array.new(thl.size) { |v| 0 == v ? pl_eg(pc, thl[v]) : tb} # unwork ( thread ) mruby 10410200 # mruby-thread e139cfed 1211410200 sdottaka
# th = ((idx = 0) .. mx = thl.hgt).map { |v|
# 0 == v ? pl_eg(pc, thl[v]) : [] # t
# }
th = (idx .. mx = thl.hgt).map { |v| 0 == v ? pl_eg(pc, thl[v]) : tb}
.
660d
657a
tb = TB
.
638,648c
# a[0] = (@@Imem).str__getarg(a[0])
a[0] = (@@Imem).getarg__(a[0])
# [self.send(*a) || a[1],
# case a[0] when Numeric then nil else a end]
## knid(a[0], :Numeric).! && a]
[self.send(*a) || a[1], case a[0] when Numeric then nil else a end]
# [self.send(*a) || a[1], knid(a[0], :Numeric).! && a]
.
628c
## v.kind_of?(Array) ? # unwork ( thread ? )
.
623d
620c
# case a[0] when Numeric then a.inject else (ROU).send(*[
# [a[1], ?_ == (a = a[0].to_s)[0] && a = "getarg" << a][0], a].rotate) end
## case a[0] when Numeric then a.inject else (ROU).send(a[0].getarg__, a[1]) end
## case a[0] when Numeric then a.inject else (ROU).send((@@Imem).getarg__(a[0]), a[1]) end
.
618a
### GC.start # g
.
572c
ensure
.
568d
542c
# 0 == n ? pl.map { |a| a[1]} : pl
0 == n ? (return pl.map { |a| a[1]}) : pl # r
.
516,519c
# @@Loc.plok(n) { |a| ### @ca =
@@Loc.plok(*@@Idx.idx(:Numeric, n)) { |a| ### @ca =
JSON::parse( ### @ca =
# ENV[@@idb + a[0].to_xeh])
ENV[@@idb + a[0]])
} # || nil
.
514c

.
503,504c
# @@Loc.plok(n, v) { |a| ENV[@@idb + a[0].to_xeh] = JSON::generate(a[1])}
@@Loc.plok(*@@Idx.idx(:Numeric, n, v)) { |a| ENV[@@idb + a[0]] =
JSON::generate(
a[1])} # || nil
.
491a

.
489d
487d
475a


class Idx
def idx(tp, *a)
a[0] = a[0].to_xeh
a
end
end
@@Idx = Idx.new

.
439,443c
# '__' != (a[0] = a[0].to_s)[0 .. 1] ?
# self.mmis('s__' << a[0], *a[1 .. -1]) :
if '__' != (a[0] = a[0].to_s)[0 .. 1]
a[0] = 's__' << a[0]
case a[3] # a[@@I_s__r1 + 1]
when Array then a3 = a.pop; return a3.map{ |v| v.nil? ? v : send(*a, v)} # r
else self.send(*a)
end
else
# self.mmis(:s__send, a[1].to_s[2 .. -1], *a[2 .. -1])
self.send(:s__send, a[1].to_s[2 .. -1], *a[2 .. -1])
end
.
435,437c
def method_missing(*a) # atode modosu
.
427,433c
# def mmis(*a)
# case a[3] # a[@@I_s__r1 + 1]
# when Array
# a3 = a[3]; a3.map{ |v| v.nil? ? v : send(*a[0 .. 2], v, a[4])}
# else send(*a)
# end
# end
.
425a
# def method_missing(*a) a[0].send(a[3])[a[1]] end
.
358a
# def fml_th_bt
# @@fml_th_bt
## @@fml[0].assoc(lb)
# end

.
354,356c
## @fml.(lb).assoc(sym) # c
# @@fml.(lb).assoc(sym) # c
## (f = @@fml).(lb).assoc(sym) # c
[sym, @@fml.assoc(sym)[1 .. -1].assoc(lb)[1 .. -1]]
.
350d
345,347c
# def str__getarg(s)
def getarg__(s)
# ?_ == s.to_s[0] && s = "getarg" << s # q
# s
?_ == s.to_s[0] ? "getarg" << s : s # q
.
343c
@fml_th_bt = @@fml_th_bt
end
.
341c
attr_accessor :fml_th_bt

def initialize
.
317,339c
# @@fml = ->(lb) { [ # l
# ['st',
# [:MOVE, :sr0], [:LOADL, :__pool],
# [:LOADI, :r0 ], [:LOADSYM, :__syms],
# [:LOADSELF, :sr0], [:LOADT, :r0],
# [:ADD, :sr01, :+], [:ADDI, :r0, :+],
# [:SUB, :sr01, :-], [:SUBI, :r0, :-],
# [:MUL, :sr01, :*], [:DIV, :sr01, :/],
# [:EQ, :r1_eq_sr01]],
# ['th',
# ['bt', ['sym', true, 'th', true], ['sym', false, 'th', true]],
# [:MOVE, [[:_b ], []]], [:LOADL, [[:_bx ], []]],
# [:LOADI, [[:_sbx ], []]], [:LOADSYM, [[:_bx ], []]],
# [:LOADSELF, [[:mk_opcode, 0], []]], [:LOADT, [[true, '', 0], []]], # mk_opcode 0
# [:ADD, [[] ]], [:ADDI, [[:_c ], []]],
# [:SUB, [[] ]], [:SUBI, [[:_c ], []]],
# [:MUL, [[]]], [:DIV, [[]]], [:EQ, [[]]]
# ]].assoc(lb) # .lazy
# }
@@fml_th_bt = [['sym', true, 'th', true], ['sym', false, 'th', true]]
@@fml = [
[:MOVE, ['st', :sr0 ], ['th', [:_b ], []]],
[:LOADL, ['st', :__pool ], ['th', [:_bx ], []]],
[:LOADI, ['st', :r0 ], ['th', [:_sbx ], []]],
[:LOADSYM, ['st', :__syms ], ['th', [:_bx ], []]],
[:LOADSELF, ['st', :sr0 ], ['th', [:mk_opcode, 0 ], []]], # mk_opcode 0
[:LOADT, ['st', :r0 ], ['th', [true, '', 0 ], []]],
[:ADD, ['st', :sr01, :+], ['th', []]],
[:ADDI, ['st', :r0, :+], ['th', [:_c ], []]],
[:SUB, ['st', :sr01, :-], ['th', []]],
[:SUBI, ['st', :r0, :-], ['th', [:_c ], []]],
[:MUL, ['st', :sr01, :*], ['th', []]],
[:DIV, ['st', :sr01, :/], ['th', []]],
[:EQ, ['st', :r1_eq_sr01], ['th', []]]
]
.
296c
# s = a[1].to_xeh << " " * a[0] << "#{a[2]} #{a[3].to_xeh}"
s = a[1].to_xeh << " " * a[0] <<
"#{a[2]} #{a[3].to_xeh}"
# "#{a[2].to_s << (8 > a[2].size ? ' ' : '')} #{a[3].to_xeh}"
.
271a
## @@Slp.slp 0 # read syoutotu taisaku
.
257c
) # .move # ? # conf.gem :github => 'miura1729/mruby-mmm'
.
205a
# def initialize; @@slp ||= @@nsl_.force[0] end #? mruby 410200

.
202a

# @@nsl_ = [ #? mruby 410200
@@slp = # conf.gem :github => 'matsumotory/mruby-sleep' # 'bamchoh/mruby-sleep' # msleep usleep
(((@@slp = NSL_ >> 2) + (@@slp >> 5)) >> 7) + 1 >> 1
# (((@@slp = NSL_ >> 1) + (@@slp >> 5)) >> 8) + 1 >> 1
# ].lazy #? mruby 410200

.
200,201d
198a
# ].lazy #? mruby 410200
.
197c
# @@slp = 2; @@slp = # [ #? mruby 410200
.
195c
@@slp = nil
# @@slp = 7; @@slp = # [ #? mruby 410200
.
161c
## )][0] ? self.replace(a) : # f ? self.replace(a) : # fuguai taisaku
.
159d
155c

.
152,153c
# while i > c += 1 # c += 1 < i # -e:1: non float value (TypeError) ( monami-ya.mrb:60510200 mruby:70410200 )
.
149,150c
n = fr + (fr = fr.abs) >> 1
(i > fr = a.size - fr) && i = fr

.
141d
50,53c
# @@mh_thl = (0 .. 1).to_a.map { |n| 'th' + n.to_xeh}
.
38a
LV__VRB = 1

.
33a
NTH = 1 # = 68060
.
23,25c
# :_ctr_s, :p, :s, :r, :c, :fibt].clear
:_ctr_s, :p, :r, :c, :fml_th_bt, :fibt].clear
.
18,19d
3,4d



--
YAMAGUTIseisei ( str_h__namae = { :sei => "山口" , :mei => "青星" } )
http://hello.to/seisei/ mailto:seisei@.68..net
祝 任天堂すいっち有機 EL モデル

YAMAGUTIseisei

unread,
Oct 8, 2021, 5:13:13 AM10/8/21
to
1691,1692d
1650a
# if 0 == ise[i_i_d].size || (1 == ise[i_i_d].size && 0 > ise[i_i_d][-1][0])
.
1591,1594c
## c, sym = @@opf.(irep, pcl) # c
# rg.push('cop', c)
# rg.push('sym', sym)
# stack.c = c # fuantei ?
rg.push('cop', stack.c = (sym = @@opf.(irep, pcl)).shift) # c
rg.push('sym', sym = sym[0])
.
1478c
i_i_d = 0; i_i_s = 1
.
1450d
1396a

.
1340,1341c
# pl.pl_es(pc1, opg.(thi) + # c
# [:ctr, [sp]] + [[:_ctr_s, pc1], []][thi <=> 0])
# pl.pl_es(pc1, opg.(thi) + opg0.call) # c 2
pl.pl_es(pc1, opg.(thi) + opg0.(thi)) # c 2
.
1336a
# opg0 = -> {['ctr', [sp]] + [[:ctr_s, pc1], []][thi <=> 0]} # l
.
1334c
# lopa
lopa + opg0.(oi) # c
.
1326,1328c
# when 'th' then fv = fvl[-1].(oi); fvl = fvl[0 .. fvl.size - 2] # c
# when 'th' then fv = fvl[-1].(oi); fvl = fvl[0 .. fvl.hgt - 1] # c

# when 'th' then fv = fvl.(oi) # c
when 'th' then fv = fvl[oi <=> 0].(oi) # c

.
1315,1320c
## fvl = [
## ->(oi) {((oi <= ht = fv.hgt) && fv[oi] = imem.ta(fv[oi], cop)) ? # l
## [thl[oi], verb.(fv[oi])] : []}, # c
## ->(oi) {[thl[oi], verb.(imem.ta(fv[oi], cop)), thl[oi + 1], tb]} # .lazy # l # c
## ]
fvl = [->(oi) {[thl[oi], verb.(imem.ta(fv[oi], cop)), thl[oi + 1], tb]}, # l # c
->(oi) {((oi <= ht = fv.hgt) && fv[oi] = imem.ta(fv[oi], cop)) ? # l
[thl[oi], verb.(fv[oi])] : []}] # .lazy # c

# k_sp = @pla.assoc('sp')[1]
opg0 = ->(oi) {[:ctr, [sp]] + [[:_ctr_s, pc1], []][oi <=> 0]} # l

.
1307d
1301,1304d
1299c
fml = [sym]<< fml # p
.
1278a
# rg.to_s # fuguai taisaku
.
1268,1270d
1264,1265d
1262d
1259c
# f = c_l.plg(pc1) && c_l.rslt(pc)
c_l.plg(pc1) && f = c_l.rslt(pc)
.
1250,1254d
1246c
# c_l = Fls__l.new(loc, s, i, imem, @pl, sl)
c_l = Fls__l.new(loc, s, i, imem, @Rou, @pl, sl)
.
1236d
1226,1228c
# sz -= 2; sz = ((@@fls_m << sz) + @@fls_m >> sz - 1) + 1 >> 1
# @@fls_mc = nil
# sz
sz -= 2
[((@@fls_m << sz) + @@fls_m >> sz - 1) + 1 >> 1, @@fls_mc = nil][0]
.
1218d
1216c
# @loc.vrb [3, pc, @sym, rs[1], rs[0]]
@loc.vrb [3, pc, @sym, *rs[0 ... i].reverse]
.
1214d
1211,1212c
# return if -1 == (rs = @rs)[i = @mh_thl.size] # r
return if -1 == (rs = @rs)[i = @@mh_thl.size] # r
.
1203c
# @f = (@ji_ngq = ji_ngq).all?
@f = [ji_ngq.all? || (return false), @ji_ngq = ji_ngq][0] # r
.
1198d
1190,1195d
1187c
# r[1] = r[0] if knid(pl[@i_sp][0], :Array) && lpl.ckth(r[1], 2)
r[1] = r[0] if case pl[@i_sp][0] when Array then lpl.ckth(r[1], 2) end
.
1183,1184c
# thl.each_with_index { |v, n|
thl.each_with_index { |h, n|
# r[n] = (pl[lpl.afl(v, ?i)] || @r[n]) # q # fuguai taisaku
r[n] = (pl[lpl.afl(h, ?i)] || @r[n]) # q # fuguai taisaku
v[n] = r[n][1]
.
1167c
# ji_ngq.inject(0) { |ca, v| ca = v ? 0 : 1 | ca << 1}].call
# (ji_ngq = @ji_ngq).inject(0) { |ca, v| ca = v ? 0 : 1 | ca << 1}
ji_ngq.inject(0) { |ca, v| ca = v ? 0 : 1 | ca << 1}
].(ji_ngq[0] && @plr.size) # c
.
1162a
# (ji_ngq = @ji_ngq)[0] && @sz = @plr.size
.
1160,1161c
# @isr0 = [@mt ? @i : @s, @r0]
.
1157,1158c
# @pr || (@pr, @sy = @imem.fml('st', @sym)[1 .. -1][0]
@pr || (@pr, @sy = @imem.fml('st', @sym)
.
1151d
1148c
) # .move # ? # conf.gem :github => 'miura1729/mruby-mmm'
.
1141c
# -> {}
->(sz) {}
.
1139c
# -> { # ji_ngq[-1]
->(sz) { # ji_ngq[-1]
.
1129,1137c
# 0 == @s.size ? nil : # Slp.new.slp(0) : ## @Slp.slp(0) :
0 == s.size ? nil : # Slp.new.slp(0) : ## @Slp.slp(0) :
# @sz.step(@sz + @ap -= @ap >> 2) { |n| @plr<< @lm.(@isr0, s[n])} # p # c
sz.step(sz + (ap = (ap += ap >> 1) >> 1)) { |n| @plr<< lm.(s[n])} # + (ap <=> 0)) # p # c
# plr<< s.ow?(n) ? nil : lm.(isr0, s[n]) # p # c
.
1127c
# -> { # ji_ngq[0]
->(sz) { # ji_ngq[0]
.
1122,1123c
# -> { # f
->(sz) { # f
# @r = @r1 <= @sz && @plr[@r1] || @lm.(@isr0, @r1) # c
@r = @r1 <= sz && @plr[@r1] || lm.(@r1) # c
.
1120c
# @lm = ->(r1) {r1 && @imem.send(@pr, *@isr0, r1)} # l
# lm = ->(r1) {r1 && imem.send(@pr, irep, s, @r0, r1, @mt)} # l
lm = ->(r1) {r1 && rou.send(@pr, @mt ? irep : s, @r0, r1, @mt)} # l
.
1117c
# @sz = 1
.
1114,1115c
# @isr0, @pr, @sym, @mt, @r0, @r1 = nil; @r = []; @rs = [?-, ?-] # q 2
@pr, @sym, @mt, @r0, @r1 = nil; @r = []; @rs = [?-, ?-] # q 2
@sy = nil

.
1110c
# i_sp = lpl.afl(@pla.assoc('sp')[1], ?i) ## # q
# @s = s; @i = irep; @imem = imem; @lpl = lpl # ; @ap = ap
@s = s; @imem = imem; @lpl = lpl
.
1106,1107c
# def initialize(loc, s, irep, imem, lpl, ap)
def initialize(loc, s, irep, imem, rou, lpl, ap)
.
1095c
['sym', [0]], ['ctr', []]] # @pla = [['sp', 'ctr']]
.
1090,1093c

# pl[0] = [[thl[0], [thini]], [thl[1], [thini]],
.
1046,1062d
1030a
rmth = @@rmth
# @pla = Array.new($pcmax)
# $pltini.call()
thini = [false, 0]
# @pll = [thini, thini, [], []]
# @pl = ENVary.new(rmth + 1, thini, thini, [], [])
## @pl = ENVary.new(rmth + 1, *@pll)

# @pl = ENVary.new(true) # 410200plini
plini(@@rmth, @pl = ENVary.new(rmth + 1, thini, thini, [], [])) # 310200plini ?

# @rmt = []
# @@nth.times {@rmt<< wkth} # p
@rmt = Array.new(@@nth) {wkth}

.
867d
769,770c
# (th[idx].nil? || # fuguai taisaku ?
# ckth(th[idx], 2)) && th[idx] = pl_eg(pc, thl[idx])
.
766a

(th[idx].! || ckth(th[idx], 2)) && ((th[idx] = pl_eg(pc, thl[idx])) || # fuguai taisaku ?
(next ini.call)) # fuguai taisaku ?

.
762,763c
# v && 0 != vl && loc.vrb([2, pc - 1, *v])
v[0] && 0 != vl && loc.vrb([2, pc - 1, *v])
.
754,755c
r = pl_es(pc, [thl[idx], [th[idx], nil]])
.
750d
747,748d
742,743c
# if # th[idx] && # mx >= idx && # fuguai taisaku ?
# ckth(th[idx], 1) then
if ckth(th[idx], 1)
.
729,730c
# v = nil
v = []
.
726d
720,722d
713,717c
# th = Array.new(thl.size) { |v| 0 == v ? pl_eg(pc, thl[v]) : tb} # unwork ( thread ) # mruby-thread e139cfe 1211410200 sdottaka
.
710,711c
# idx, thi, ji_ngq = nil # idx = 0 ##
# ini = -> {idx, thi = 0; ji_ngq = false}.call # l # fuguai taisaku ?
idx, thi, ji_ngq = (ini = -> {[idx = 0, thi = 0, ji_ngq = false]}).call # l # fuguai taisaku ? # idx = 0 ##
.
675c
# ([] == a || ! knid(a, :Array)) && (return a) # t
.
614,616c
# i = self.afl(k, ?i) # q
k = self.afl(k, ?i) # q
# k = loop {self.afl(k, ?i) && break} # q # fuguai taisaku
# pl[i] = knid(v, :Numeric) ? pl[i]<< v : v # p
pl[k] = knid(v, :Numeric) ? pl[k]<< v : v # p
.
589,590c
# 0 == n ? (return pl.map { |a| a[1]}) : pl # r
0 != n ? (return pl) : pl.map { |a| a[1]} # r
.
564,565c
# ENV[@@idb + a[0]])
ENV[@@Idx.lbl(a)])
.
561,562c
@@Loc.plok(n) { |a| ### @ca =
# @@Loc.plok(*@@Idx.idx(:Numeric, n)) { |a| ### @ca =
.
546,547c
# @@Loc.plok(*@@Idx.idx(:Numeric, n, v)) { |a| ENV[@@idb + a[0]] =
@@Loc.plok(n, v) { |a| ENV[@@Idx.lbl(a)] =
.
531,533c
# (0 .. n).each{ |i|
# self[i] = *a
# }
(0 .. n).each{ |i| self[i] = *a}
.
518c
# @@Idx = Idx.new
@@Idx = Idx.new(@@idb)
.
513,515c
@@idb = nil

def initialize(idb = FL.dup) @@idb = idb end

# def idx(tp, *a)
def idx(*a)
# a[0] = a[0].to_xeh
# a
a[0].to_xeh
end

def lbl(a)
@@idb + idx(*a)
.
478a

# def fml_th_bt
# @@fml_th_bt
## @@fml[0].assoc(lb)
# end
.
464,477c
# def str__getarg(s)
def getarg__(s)
# ?_ == s.to_s[0] ? "getarg" << s : s # q
?_ == s.to_s[0] ? 'getarg' << s : s # q
end

def ta(l, cop) [l[0] || :_a, l[1] || cop][0 .. l[2] || 1] end

def fml(lb, sym)
# [sym, @@fml.assoc(sym)[1 .. -1].assoc(lb)[1 .. -1]]
# [sym, @@fml.assoc(sym)[1 .. -1][@@fmli.index(lb)]] # fukusayou ?
# [sym, @@fml.assoc(sym)[@@fmli.index(lb) + 1]] # fukusayou ?
# [sym, @@fml.assoc(sym)[@@fmli.index(lb) + 1] + []] # fukusayou ? kaihi : mruby 70410200
@@fml.assoc(sym)[@@fmli.index(lb) + 1] + [] # fukusayou ? kaihi : mruby 70410200
.
456,462c
def initialize
# @fml = @@fml
@fml_th_bt = @@fml_th_bt
end
.
447,454c
attr_accessor :fml_th_bt
# attr_accessor :fml_th_bt, :fmli
.
444,445c
module M__Imem
@@fml_th_bt = [['sym', true, 'th', true], ['sym', false, 'th', true]]
@@fmli = ['st', 'th']
@@fml = [
# [:MOVE, ['st', :sr0 ], ['th', [:_b ], []]],
# [:LOADL, ['st', :__pool ], ['th', [:_bx ], []]],
# [:LOADI, ['st', :r0 ], ['th', [:_sbx ], []]],
# [:LOADSYM, ['st', :__syms ], ['th', [:_bx ], []]],
# [:LOADSELF, ['st', :sr0 ], ['th', [:mk_opcode, 0 ], []]], # mk_opcode 0
# [:LOADT, ['st', :r0 ], ['th', [true, '', 0 ], []]],
# [:ADD, ['st', :sr01, :+], ['th', []]],
# [:ADDI, ['st', :r0, :+], ['th', [:_c ], []]],
# [:SUB, ['st', :sr01, :-], ['th', []]],
# [:SUBI, ['st', :r0, :-], ['th', [:_c ], []]],
# [:MUL, ['st', :sr01, :*], ['th', []]],
# [:DIV, ['st', :sr01, :/], ['th', []]],
# [:EQ, ['st', :r1_eq_sr01], ['th', []]]
[:MOVE, [:sr0 ], [[:_b ], []]],
[:LOADL, [:__pool ], [[:_bx ], []]],
[:LOADI, [:r0 ], [[:_sbx ], []]],
[:LOADSYM, [:__syms ], [[:_bx ], []]],
[:LOADSELF, [:sr0 ], [[:mk_opcode, 0 ], []]], # mk_opcode 0
[:LOADT, [:r0 ], [[true, '', 0 ], []]],
[:ADD, [:sr01, :+ ], [[]]],
[:ADDI, [:r0, :+ ], [[:_c ], []]],
[:SUB, [:sr01, :- ], [[]]],
[:SUBI, [:r0, :- ], [[:_c ], []]],
[:MUL, [:sr01, :* ], [[]]],
[:DIV, [:sr01, :/ ], [[]]],
[:EQ, [:r1_eq_sr01 ], [[]]]
]
# ['st', nil, 'th', ['bt', ['sym', true, 'th', true], ['sym', false, 'th', true]],
.
441,442d
382,385d
375,380c
ROU = Rou.new
.
373c
class Rou
include RiteOpcodeUtil
include M__Rou
end
.
371a
end
.
366,370c
# def mmis(*a)
# case a[3] # a[@@I_s__r1 + 1]
# when Array
# a3 = a[3]; a3.map{ |v| v.nil? ? v : send(*a[0 .. 2], v, a[4])}
# else send(*a)
# end
# end

def method_missing(*a) # atode modosu
# '__' != a[0][0 .. 1] ? # higokan mruby 70410200
# '__' != (a[0] = a[0].to_s)[0 .. 1] ?
# self.mmis('s__' << a[0], *a[1 .. -1]) :
if '__' != (a[0] = a[0].to_s)[0 .. 1]
a[0] = 's__' << a[0]
case a[3] # a[@@I_s__r1 + 1]
when Array then a3 = a.pop; return a3.map{ |v| v.nil? ? v : send(*a, v)} # r
else self.send(*a)
end
else
# self.mmis(:s__send, a[1].to_s[2 .. -1], *a[2 .. -1])
self.send(:s__send, a[1].to_s[2 .. -1], *a[2 .. -1])
end
.
361,364c
def s__sr0( *a) a[0][ a[1]] end
def s__r0( *a) a[1] end
def s__sr01( *a) a[0][ a[1] + 1] end
# def s__i__r0( *a) a[0].send(a[3])[a[1]] end
def s__send( *a) a[0].send(a[3])[a[1]] end
def s__r1_eq_sr01(*a) a[0][ a[1] + 1] ==
a[0][ a[2]] end
# def method_missing(*a) a[0].send(a[3])[a[1]] end
.
359c
# def s__i_pool_r0( *a) a[@@I_s__i].pool[ a[@@I_s__r0]] end
# def s__i_syms_r0( *a) a[@@I_s__i].syms[ a[@@I_s__r0]] end
.
322,357c
module M__Rou
# @@I_s__stack = @@I_s__irep =
# @@I_s__i = 0; @@I_s__r0 = 1; @@I_s__r1 = 2; @@I_s__mt = 3
.
301,302c
## "#{a[2]} #{a[3].to_xeh}"
"#{a[2].to_s <<
(2 != a[0] && 7 < a[2].size ? ' ' : ' ')}#{a[3].to_xeh}"
.
299d
281c
### @nm && retry
.
242,252d
145,149d
47c
@@ts = 2 # = (@@rmth >> 1) + 1 # = $$ + 1 # = 68060
.
29c
NTH = 1 # = 68060
.
19d
16,17d
7a
:sr0, :r0, :sr01, :r1_eq_sr01,
:s__send, :__pool, :__syms,
.

YAMAGUTIseisei

unread,
Feb 6, 2022, 10:37:58 AM2/6/22
to
1695c
fis[i_fb].resume(0 > fis[i_pc] ? -1 : n) # cp
.
1688c
ise[i_i_d]<< [pfl[i_pc], isfl(pfl[i_rg])] # p
.
1680,1681c
# rg.shift :cop
# rg.shift :sym
.
1675c
# rg.shift 'sp'
.
1672c
# rg.shift 'pc'
rg.shift('pc'); rg.shift('sp'); rg.shift(:cop); rg.shift(:sym)
.
1654,1656c
# if ise[i_i_d].empty? || (1 == ise[i_i_d].size && 0 > ise[i_i_d][-1][0])
if ise[i_i_d].empty? || (0 == ise[i_i_d].hgt && 0 > ise[i_i_d][-1][0])
.
1639,1647c
sym = rg[:sym]
# loc.vrb "#{pc.to_xeh} #{sym} #{rg[:cop].to_xeh}" if 0 <= rg.p
loc.vrb [1, pc, sym, rg[:cop]] if 0 <= rg.p

# [(ifj.(sym) || ifs.(sym)) || ( # c 2
# ist.(pc) if pctj.pop != pc && istm.call; false), # c
# (next if pcoj.call)
# ][0] && (
[(ifj.(sym) || ifs.(sym)) || (ist.(pc) if pctj.pop != pc && istm.call # c 3
false), pcoj.call &&
next][0] && (
# (pctj<< (pco[0] = pc) + 1) if ifj.(sym) # p # c
(pctj<< 1 + pco[0] = pc) if ifj.(sym) # p # c
.
1607,1608c
# ise[i_i_d]<< pfl # p
# next false # r
next ! (ise[i_i_d]<< pfl) # r # p
.
1593,1597c
rg.push(:cop, stack.c = (sym = @@opf.(irep, pcl)).shift) # c
rg.push(:sym, sym = sym[0])
.
1582,1585d
1580a
# sl.slp 0
rg.pop :cop
rg.pop :sym
# stack.cs rg[:cop]
stack.c = rg[:cop] # fuantei ?
.
1562c
# @Slp.slp 0
sl.slp 0
.
1516c
cop, sym = rg.to_ra(:cop, :sym)
.
1481c
rg = Rg.new([['pc', pc], ['sp', @sp], [:cop], [:sym]])
.
1479c
i_i_d = 0; i_i_s = 1; i_pc = 0; i_rg = 1; i_fb = 1
.
1395,1396c
# callinfo[0 .. 2] = [rg['sp'], rg['pc'], irep]
# callinfo.p += 3
callinfo.p += (callinfo[0 .. 2] = [rg['sp'], rg['pc'], irep]).size
.
1391d
1386d
1381d
1360c
cop, sym = rg.to_ra(:cop, :sym)
.
1321d
1295,1297c
verb = ->(verb) { # loc.vrb( # l
## "#{pc.to_xeh} getarg#{verb[0]} #{verb[1].to_xeh}")
# "#{pc.to_xeh} #{str__getarg}#{verb[0]} #{verb[1].to_xeh}")
.
1281d
1279a
str__getarg = STR__GETARG
.
1276c
tb = TB.dup
.
1272c
pc, sp, cop, sym = [rg['pc'], rg['sp'], rg[:cop], rg[:sym]]
.
1258,1260d
1256d
1247d
1226,1228d
1219c
# @f && @rs[i] ||= -1
@f && @ji_ngq<< n # p
.
1216,1217c
# @loc.vrb [3, pc, @sym, *rs[0 ... i].reverse]
@loc.vrb [3, pc, @sym, *@rs.reverse]
.
1212,1213c
# return if -1 == (rs = @rs)[i = @@mh_thl.size] # r
return if @ji_ngq[n = -1] == n # r
.
1203,1204c
# @f = [ji_ngq.all? || (return false), @ji_ngq = ji_ngq][0] # r
@f = [ji_ngq.all? || return, @ji_ngq = ji_ngq][0] # r
.
1198,1199c
# @r = r
# ji_ngq = r.map { |r| lpl.ckth(r, 1)}
ji_ngq = (@r = r).map { |r| lpl.ckth(r, 1)}
.
1193d
1188d
1186d
1174a

## class CaAry_ < Array; include M__CaAry_; end


.
1139c
->(sz) { # ji_ngq[-1]
.
1134d
1132c
# @sz.step(@sz + @ap -= @ap >> 2) { |n| @plr<< @lm.(@isr0, s[n])} # p # c
.
1130c
->(sz) { # ji_ngq[0]
.
1125a
@plr.clear
.
1123c
->(sz) { # f
.
1118,1119c
# lm = ->(r1) {r1 && rou.send(@pr, irep, s, @r0, r1, @mt)} # l
.
1115d
1108c
# @mh_thl = @@mh_thl
.
1105c
# @s = s; @i = irep; @imem = imem; @lpl = lpl
.
1100d
1098c
# @@mh_thl = MH_THL.dup
@@mh_thl = MH_THL # .dup # dup omoi ?
.
1087d
1042a
# @rmt = Array.new(@@nth) { |i| wkth((@c_a<< CaAry_.new), i)} # p

.
1040,1041c
# @c_a = []
.
1035c
## @pl = ENVary.new(rmth + 1, *@pll)
.
1033c
# @pll = [thini, thini, [], []]
.
1027c
### GC.start # g # antei ?
.
1006a
# Thread.new(c_a, tid) { |c_a, tid| Pl.new.plm(c_a, tid)}
.
1000a
# def wkth(c_a, tid = 1)
.
928d
926d
897,900d
840,841c
# @@m = Mutex.new
.
782c
pc && 0 <= pc && fpl<< plw(pc) # p
# (pc = ctr_g) && 0 <= pc && fpl<< plw(pc, c_a, tid) # p
.
776a
# def plm(c_a, tid = 0)
.
767,769d
757,758c
# v[0] && 0 != vl && loc.vrb([2, pc - 1, *v])
.
745,751c
# r = pl_es(pc, (0 .. idx).flat_map{|n| [thl[n], [th[n]]]})
r = pl_es(pc, kt.call ? (thi = idx + 1
(0 .. idx).flat_map { |n| [thl[n], [th[n], v[n]]]}) :
# thi = idx + 1
# else if mx > idx
# r = pl_es(pc, [thl[idx], [th[idx], nil]])
[thl[idx], [th[idx], v[idx]]])
# end
.
743c
v[0] && ve.call

# if kt.call
.
740,741d
736d
731d
727,728c
# v = []
.
725a

th = (idx .. mx = thl.hgt).map { |v| 0 == v ? pl_eg(pc, thl[v]) : tb}
.
720c
# th = (idx .. mx = thl.hgt).map { |v| 0 == v ? pl_eg(pc, thl[v]) : tb}
th = nil

idx, thi, ji_ngq = (ini = -> {[idx = 0, thi = 0, ji_ngq = false]}).call # l # fuguai taisaku ? # idx = 0 ##
.
715,717c
vl = LV__VRB
v = []
ve = -> {0 != vl && loc.vrb([2, pc - 1, *v])}
## "#{(pc - 1).to_xeh} #{imem.getarg__(v[0])} #{v[1].to_xeh}")}
# ve = -> {loc.vrb "#{(pc - 1).to_xeh} #{v[0]} #{v[1].to_xeh}"}
.
713d
709c
tb = TB.dup
.
707a
# def plw(pc, c_a, tid) ##
.
693,698c
# a[0] = (@@Imem).getarg__(a[0])
a = [[a[1], case a = a[0] when Numeric then
## else a = (@@Imem).getarg__(a) end][0], a].reverse # .rotate
else ?_ == a.to_s[0] && a = 'getarg' << a end][0], a].reverse # .rotate # q # higokan monami-ya.mrb:60510200 mruby:70410200 : STR__GETARG , $str__getarg
# [self.send(*a) || a[1], case a[0] when Numeric then nil else a end]
[self.send(*a) || a[1], case a[0] when Numeric then else a end] # then nil
.
680a
# ([] == a || case a when Array then true end.!) && (return a) # t # higokan mruby:70410200 monami-ya.mrb:60510200
.
672,676c
case a[0] when Numeric then a.inject else (ROU).send(
*a) end
## a[0].getarg__, a[1]) end
## (@@Imem).getarg__(a[0]), a[1]) end
.
658c
## 0 == lf ? return(false) : (md &= bf if 0 == lf >> bfsz) # ? mruby 70410200 # r
.
647,648c
bfsz = (a = [knid(th, :Array), tb == th]).size
.
645a
tb = TB.dup
.
620,621c
# pl[k] = knid(v, :Numeric) ? pl[k]<< v : v # p
pl[k] = case v when Numeric then pl[k]<< v else v end # p
.
617c
# knid(k, :Symbol) && (send(k, v); break)
.
592d
584d
567d
565d
552a

.
549c

.
532,535d
519d
510,511d
508d
502a
## class CaAry_ < Array; include M__CaAry_; end

.
465,469d
452,453c
?_ == s.to_s[0] ? 'getarg' << s : s # q # higokan monami-ya.mrb:60510200 mruby:70410200 : STR__GETARG , $str__getarg
.
450d
447a
# @fmli = @@fmli
.
413,425d
409a

.
340d
336c
# when Array then a3 = a.pop; return a3.map{ |v| v.nil? ? v : send(*a, v)} # r
when Array then return (a3 = a.pop).map{ |v| v.nil? ? v : send(*a, v)} # r
.
331,332d
321,329c
def method_missing(*a)
.
319d
285c
# (2 != a[0] && 7 < a[2].size ? ' ' : ' ')}#{a[3].to_xeh}"
([' ', ' '][(0 <=> a[2].size - 7) >> 1])}#{a[3].to_xeh}"
.
202,205d
156a

# module M__CaAry_
# (
# @@ca = []
# ## @@ctr = -1
# @@m = Mutex.new
# @@ofs = MTH # + 1
# )
#
# def initialize(a = [], id = 0, ofs = @@ofs)
# # @ca = [] # cannot set instance variable (ArgumentError)
# # @@ca[ofs + id + @@ctr += 1] = a
# @@ca[ofs + id] = a
# end
# end
#
# class CaAry_ < Array
# include M__CaAry_
# end


.
145,146c
# a[n] && yield(a[n], c) && (next a.delete_at(n)); n += 1
## (v = a[n]) && yield(v, c) && a.delete_at(n) || n += 1
(v = a[n]) && yield(v, c) && (next a.delete_at(n)); n += 1
.
126,127c
# ?i != m ? self[m.__method__(k, ?i)] : (s0 = self[0]).index(s0.assoc(k)) # self.index(idx) # q 2 #? mruby 410200
?i != m ? self[m.afl(k, ?i)] : (s0 = self[0]).index(s0.assoc(k)) # self.index(idx) # q 2
# ?i != m ? self[m.afl(k, ?i)] : loop { (s0 = self[0]).index(s0.assoc(k)) && break} # self.index(idx) # fuguai taisaku # q 2
.
83a

def getarg__(s)
?_ == s.to_s[0] ? 'getarg' << s : s # q # higokan monami-ya.mrb:60510200 mruby:70410200 : STR__GETARG , $str__getarg
end
.
46c
@@ts = 3 # = (@@rmth >> 1) + 1 # = $$ + 1 # = 68060
.
35a
STR__GETARG = 'getarg' # $str__getarg

.
28a
MTH = 1 # = 6809
.
26,27c
# NSL_ = 6309 # OSX/PPC : 20476309 ? # nanosleep()
NSL_ = 10065 # OSX/PPC : 20480065 ? # nanosleep()
# TS = 2 # = (@@rmth >> 1) + 1 # = $$ + 1 # = 68060
.
19c
:fibt].clear
.
17a
:sr0, :r0, :sr01, :r1_eq_sr01,
:s__send, :__pool, :__syms,
.
7,9c
# :ctr, :th, :th0, :th1, :sym,
:ctr, :th, :th0, :th1 , :sym, :cop,
:_ctr_s, :p, :r, :c, :fml_th_bt,
# :_ctr_s, :p, :r, :c, :fml_th_bt, :fmli,
.



--
YAMAGUTIseisei ( str_h__namae = { :sei => "山口" , :mei => "青星" } )
http://hello.to/seisei/ mailto:seisei@.68..net
日が照つてゐた 今から五億年前に ──高橋新吉

YAMAGUTIseisei

unread,
Mar 6, 2022, 5:22:24 AM3/6/22
to
1716a


# $rmtb = true

.
1714c
# GC.start # g # antei ?
.
1710c
# GC.start # g
.
1664,1666d
1660d
1656d
1639,1642c
# if ise[i_i_d].empty? || (0 == ise[i_i_d].hgt && 0 > ise[i_i_d][-1][0])
if 0 > rg.p &&
(ise[i_i_d].empty? || (0 == ise[i_i_d].hgt && 0 > ise[i_i_d][-1][0]))

# rg.p = rg.p.abs
# rg.p = 0 > (pt = rg.p) ? ~ pt : pt
rg.p = ~ rg.p
.
1633c
# rg.p = -rg.p
rg.p = ~ rg.p
.
1624,1631c
# [(ifj.(sym) || ifs.(sym)) || (ist.(pc) if pctj.pop != pc && istm.call # c 3
# false), pcoj.call &&
# next][0] && (
[(ifj.(sym) || ifs.(sym)) || # c 2
pctj.pop != pc && istm.call && ! ist.(pc), # false, # c
(next if pcoj.call) ][0] && (
.
1599,1601c
# ise[i_i_s]<< [0 > rg.p ? -pcl : pcl, Rg.new(rg.to_a)] # p # cp
ise[i_i_s]<< [0 > rg.p ? -pcl : pcl, Rg.new(*rg.to_a)] # p # cp
.
1588d
1586c
pfl[i_pc] = -pcf # cp
.
1583c
if 0 > pcf = pfl[i_pc]
.
1563d
1543d
1462c
# rg = Rg.new([['pc', pc], ['sp', @sp], [:cop], [:sym]])
rg = Rg.new(['pc', [pc]], ['sp', [@sp]], [:cop, []], [:sym, []])
.
1435c
# rf = fl.resume(m.abs) if 0 <= m # || 0 <= pc
(fl.resume(m.abs) && rf = true) if 0 <= m # || 0 <= pc

rgd &&= nil
.
1433c
# ri ||= true == fb.resume
ri ||= true == fb.resume(rgd)
.
1428c

@@fb ||= iset
# fb = iset(rg)
fb = @@fb
.
1426a
rgd = rg.to_ra('pc', 'sp', :cop, :sym)

.
1423a
@@fb = nil
.
1375,1378c
# callinfo.p += (callinfo[0 .. 2] = [rg['sp'], rg['pc'], irep]).size
callinfo.p += (callinfo[0 .. 2] = rg.to_ra('sp', 'pc') + [irep]).size
.
1329,1334c
# begin # fuantei ? mruby:70410200 monami-ya.mrb:60510200
## loop {
sl.slp 0
# Fiber.yield(0 <= pc ? [true][thi] : ([pcabs][thi] || pc)) # cp
rg = Fiber.yield(0 <= pc ? [true][thi] : ([pcabs][thi] || pc)) # cp
# end while [true][thi] # fuantei ? mruby:70410200 monami-ya.mrb:60510200
## break if 0 != thi }
.
1325c
# pl.pl_es(pc1, opg.(thi) + opg0.(thi)) # c 2
pl.pl_es(pc1, opg.(thi)) # c
.
1322,1323c
# 0.upto(NaN) { |thi| # higokan ? mruby 70410200
# [1].cycle.with_index { |t, thi|
rg && ini.(rg) # c

.
1318,1320c
thi = 0 ##
# Fiber.new {
Fiber.new { |rg|
# Fiber.new { |rg, m = 0|
# Fiber.new { |rg, thi = 0| ## # higokan monami-ya.mrb:60510200 mruby:70410200
.
1314,1315c
# lopa + opg0.(oi) # c
lopa + fvl[0].(oi) # c
.
1304,1307c
# when 'th' then fv = fvl[-1].(oi); fvl = fvl[0 .. fvl.size - 2 # .hgt - 1 # c
# when 'th'
# fv = fvl[1][-1].(oi); fvl[1] = fvl[1][0 .. fvl[1].size - 2] # .hgt - 1] # c

## when 'th' then fv = fvl.(oi) # c
## when 'th' then fv = fvl[oi <=> 0].(oi) # c
# when 'th' then fv = fvl[1].force[oi <=> 0].(oi) # c #? mruby 410200
when 'th' then fv = fvl[1][oi <=> 0].(oi) # c
.
1287,1297c
# fvl = [->(oi) {((oi <= ht = fv.hgt) && fv[oi] = imem.ta(fv[oi], cop)) ? # l
# [thl[oi], verb.(fv[oi])] : []}, # c
# ->(oi) {[thl[oi], verb.(imem.ta(fv[oi], cop)), thl[oi + 1], tb]}] # .lazy # l # c

# opg0 = ->(oi) {[:ctr, [sp]] + [[:_ctr_s, pc1], []][oi <=> 0]} # l

fvl = [->(oi) {[:ctr, [sp]] + [[:_ctr_s, pc1], []][oi <=> 0]}, # l
# [->(oi) {((oi <= ht = fv.hgt) && fv[oi] = imem.ta(fv[oi], cop)) ? # l
# [thl[oi], verb.(fv[oi])] : []}, # c
# ->(oi) {[thl[oi], verb.(imem.ta(fv[oi], cop)), thl[oi + 1], tb]}] # l # c
# ] # .lazy

[->(oi) {[thl[oi], verb.(imem.ta(fv[oi], cop)), thl[oi + 1], tb]}, # l # c
->(oi) {((oi <= ht = fv.hgt) && fv[oi] = imem.ta(fv[oi], cop)) ? # l
# [thl[oi], verb.(fv[oi])] : []}].lazy] #? mruby 410200 # c
[thl[oi], verb.(fv[oi])] : []}]] # c
.
1280d
1268,1276c
pc1, fml = nil
# k_sp = pla.assoc('sp')[1]

ini = ->(rg) { # l
pc, sp, cop, sym = rg
# fml = imem.fml('th', sym) || (
fml = imem.fml(i_lb, sym) || (
# printf("Unkown code %s \n", OPTABLE_SYM[imem.get_opcode(cop)])
# printf("Unkown code %s \n", OPTABLE_SYM[@Rou.get_opcode(cop)])
loc.vrb("Unkown code #{sym} ") # .to_s
# return nil
# raise
# rg = Fiber.yield(nil)
)
fml = [sym]<< fml # p
pc1 = (pcabs = pc.abs) + 1 # cp
# fv = [] ##
}
.
1265a
i_lb = imem.fmli.index('th') + 1
.
1258c
# pc1 = (pcabs = pc.abs) + 1 # cp
.
1254,1256c
# def iset(rg) ##
def iset ##
# rg = Rg.new(*rg) # fuguai taisaku ( gc )
# pc, sp, cop, sym = [rg['pc'], rg['sp'], rg[:cop], rg[:sym]]
pc, sp, cop, sym = nil
.
1246a
# f ||= c_l.plg(pc1) && c_l.rslt(pc)
f ||= c_l.plg(pc) && c_l.rslt(pc)
.
1244,1245c
# c_l.plg(pc1) && f = c_l.rslt(pc)
# end
.
1242c
# unless f
.
1232,1236c
# c_l = Fls__l.new(loc, s, i, imem, @Rou, @pl, sl)
c_l = Fls__l.new(loc, s, i, imem, @Rou, @pl)
.
1225c
# pc1 = pc + 1
.
1215,1220d
1210d
1207d
1203d
1199c
# @f || ! ((@pl = @lpl.pl_g(pc)).empty? && @r.empty?) # fuguai taisaku
@f || ! ((@pl = @lpl.pl_g(pc + 1)).empty? && @r.empty?) # fuguai taisaku
.
1194d
1188,1189d
1185a
# case v when Array then ! v.empty? end && vrb( # [2, pc, *v])
# [2, pc, *v.map{|v| case v when String then v.chomp else v end}]) # fuguai taisaku
## "#{(pc).to_xeh} #{getarg__(v[0])} #{v[1].to_xeh}")}

.
1181,1182c
# v[n] = r[n][1]
v ||= r[n][1]
# r[n][0] && knid(r[n][0], :Numeric) && r[n] = r[n][0]
# r[n][0] && case r[n][0] when Numeric then r[n] = r[n][0] end
case r[n][0] when Numeric then r[n] = r[n][0] end
.
1174c
# v = [nil, nil]
v = nil
.
1159c
# ].(ji_ngq[0] && @plr.size) # c
].(ji_ngq[0] && @plr.size, @r) # c
.
1156,1157d
1151d
1149d
1145,1147c
# @r0, @r1 = @r
# @pr || (@pr, @sy = @imem.fml('st', @sym)
@pr || (@pr, @sy = @imem.fml(@i_lb, @sym)
.
1137a
@i_lb = imem.fmli.index('st') + 1
.
1124,1131c
sz.step((ap = (ap += ap >> 1) >> 1)) { |n| @plr<< lm.(s[n])} # + (ap <=> 0)) # p # c
# @plr<< s.ow?(n) ? nil : lm.(isr0, s[n]) # p # c
# @rs[1] = @r[0]},
@rs[1] = r[0]},
# ->(sz) { # ji_ngq[-1]
->(sz, r) { # ji_ngq[-1]
# @rs[0] = @r[1]},
@rs[0] = r[1]},
# ->(sz) {}
->(sz, r) {}
.
1122d
1118,1120c
# @rs = @r1, @r0]},
@rs = [r[1], r[0]]},
# ->(sz) { # ji_ngq[0]
->(sz, r) { # ji_ngq[0]
.
1116c
s[r[1]] = @sy ? [s[r[1]], @r].inject(@sy) : @r
.
1111,1114c
# ->(sz) { # f
->(sz, r) { # f
# @r = @r1 <= sz && @plr[@r1] || lm.(@r1) # c
@r = r[1] <= sz && @plr[r[1]] || lm.(r[1]) # c
.
1108,1109c
# lm = ->(r1) {r1 && rou.send(@pr, @mt ? irep : s, @r0, r1, @mt)} # l
lm = ->(r1) {r1 && rou.send(@pr, @mt ? irep : s, @r[0], r1, @mt)} # l
.
1106a
# sl = @@fls_m ||= @@fls_mc.(4) # c
ap = @@fls_m ||= @@fls_mc.(4) # c

.
1099,1101d
1096d
1092c
# def initialize(loc, s, irep, imem, rou, lpl, ap)
def initialize(loc, s, irep, imem, rou, lpl)
.
1089c
@@fls_m = nil
@@fls_mc = ->(sz) {
@@fls_m = (1 << sz) - 1 - 1
# sz -= 2
# [((@@fls_m << sz) + @@fls_m >> sz - 1) + 1 >> 1, @@fls_mc = nil][0]
[((@@fls_m << sz -= 2) + @@fls_m >> sz - 1) + 1 >> 1, @@fls_mc = nil][0]
}
.
1079,1080c
# pl[0] = [[thl[0], [thini]], [thl[1], [thini]],
# ['sym', [0]], ['ctr', []]] # @pla = [['sp', 'ctr']]
pl[0] = [[pl0i[0], [thini]], [pl0i[1], [thini]],
[pl0i[2], [0]], [pl0i[3], []]] # @pla = [['sp', 'ctr']]

# if 1 < self.size # self.size : 0 ?? # higokan ? mruby:70410200 monami-ya.mrb:60510200
# self.replace(0 ... self.size & ((n = @@rmth + 1) << 1) | n]) # ?? # higokan ? mruby:70410200 monami-ya.mrb:60510200
# self.slice!((self.size & ((n = @@rmth + 1) << 1) | n) + 1 .. -1) # higokan mruby:70410200 monami-ya.mrb:60510200

pl[1] && pl[0 .. -1] =
# pl[0 .. self.hgt & ((n = rmth + 1) << 1) | n]
pl[0 .. pl.hgt & ((thini = rmth + 1) << 1) | thini]

pl.ref_pl0i
.
1071a
pl0i = [thl[0], thl[1], 'sym', 'ctr']
.
1031,1033c
# @rmt = Array.new(@@nth) {wkth}
@rmt = @@Rmt + Array.new(@@nth - 1) {wkth}
.
1029c
# plini(@@rmth, @pl = ENVary.new(rmth + 1, thini, thini, [], [])) # 310200plini ?
plini(@@rmth, @pl = ENVary.new(true)) # 310200plini ?
.
1023,1027c
# @pl = ENVary.new
.
1020c
# rmth = @@rmth
.
1003a
@@Rmt = [wkth]

.
977c
# @s.assoc(k)[i] = v
@s.assoc(k)[1][i] = v
.
963c
# @s.assoc(k)[i]
@s.assoc(k)[1][i]
.
956c
# @s.map { |v| v.dup}
@s.map { |v| [v[0], v[1][0 .. -1]].dup}
.
948c
# @s.assoc(a.shift).delete_at a[0]
@s.assoc(a.shift)[0].delete_at a[0]
.
944c
# @s.assoc(a.shift).delete_at 1
@s.assoc(a.shift)[1].shift
.
940c
# @s.assoc(a.shift).pop
@s.assoc(a.shift)[1].pop
.
936c
# @s.assoc(a.shift)<< a[0] # p
@s.assoc(a.shift)[1]<< a[0] # p
.
931,932c
# @s = a.shift
@s = a
# @p = 1
@p = 0
.
897d
893d
842,843d
759,763c
# sl.plwt(m) { |n| m = Fiber.yield([flg || mx < thi][n])}
m = sl.plwt(m) { |n| Fiber.yield([flg || mx < thi][n])}
# m = sl.plwt(m) { |n| Fiber.yield([flg][n])}
.
755c
# v[0] && ve.call
.
740,748c
# r = pl_es(pc, kt.call ? (thi = idx + 1
# (0 .. idx).flat_map { |n| [thl[n], [th[n], v[n]]]}) :
r = pl_es(pc, kt.call ?
(0 ... thi = idx + 1).flat_map { |n|
[thl[ n], [th[ n]] + [[v], v = []][0]]} # .slice! higokan monami-ya.mrb:60510200 mruby:70410200
: [thl[idx], [th[idx], [v]]])

# if ji_ngq ||= plw__kt(pc)
# 0.step(idx) { |n| r &= pl_es(pc, [thl[n], [th[n]]], n != mx)}
# else__if mx > idx
# r = pl_es(pc, [thl[idx], [th[idx]]], nil)
.
732a
# flg ||= true
.
729,730c
if 0 < idx && ckth(th[idx], 2) && kt.call # ji_ngq ||= plw__kt(pc)
.
727c
(th[idx].! || ckth(th[idx], 2)) && ((th[idx] = pl_eg(pc, thl[idx])) || # fuguai taisaku ?
(next ini.call)) # fuguai taisaku ?
.
725c
# th = (idx .. mx = thl.hgt).map { |v| 0 == v ? pl_eg(pc, thl[v]) : tb}
th = (idx .. mx = thl.hgt).map {tb}

.
715,716c
# th = nil
th, mx = nil
.
710,711c
# ve = -> {0 != vl && loc.vrb([2, pc - 1, *v])}
ve = [-> {},
-> {loc.vrb([2, pc - 1, *v])}
## "#{(pc - 1).to_xeh} #{imem.getarg__(v[0])} #{v[1].to_xeh}")}
][LV__VRB]
.
708c
# vl = LV__VRB
.
701d
692a
[self.send(*a) || a[1], a]
.
686,691c
# a = [[a[1], case a = a[0] when Numeric then
### else a = (@@Imem).getarg__(a) end][0], a].reverse # .rotate
# else ?_ == a.to_s[0] && a = 'getarg' << a end][0], a].reverse # .rotate # q # higokan monami-ya.mrb:60510200 mruby:70410200 : STR__GETARG , $str__getarg
a = [a[1], case a = a[0] when Numeric then # nil
## else (@@Imem).getarg__(a) end].reverse # .rotate
else ?_ == a.to_s[0] ? 'getarg' << a : a end].reverse # .rotate # q # higokan monami-ya.mrb:60510200 mruby:70410200 : STR__GETARG , $str__getarg
## [self.send(*a) || a[1], case a[0] when Numeric then else a end] # then nil
.
677,679c
# knid(a, :Array) ? s_id(a) : # __method__(a) : #? mruby 410200 # heiretu : BeOS,PalmOS6,Aperios,HongmengOS,1489922543/30-42#97-98 <-> Smalltalk ( AlanKay , itojun ) ?
case a when Array then s_id(a) else # __method__(a) else #? mruby 410200 # heiretu : BeOS,PalmOS6,Aperios,HongmengOS,1489922543/30-42#97-98 <-> Smalltalk ( AlanKay , itojun ) ? # omoi ?
## knid(a, :Array) ? Thread.new [s_id(a)} : # __method__(a)} : #? mruby 410200 # BeOS,PalmOS6,Aperios,HongmengOS,1489922543/30-42#97-98 <-> Smalltalk ( AlanKay , itojun ) ?
## case a when Array then Thread.new {s_id(a)} else # __method__(a)} else #? mruby 410200 # BeOS,PalmOS6,Aperios,HongmengOS,1489922543/30-42#97-98 <-> Smalltalk ( AlanKay , itojun ) ? # omoi ?
a end
.
620a
def ref_pl0i; @@pl0i = pl_g(-1) end

.
616,618c
# [
pl_s(n, pl) # ,
# ensure
## aa.each_slice(2) { |k, v| send(k, v)}
# aa.empty? || send(*aa)
# ][0]
#@@tp.clear
#@@tp = [nil]
#@@tp = Array.new(0xf)
# end
.
612,613c
#### k = loop {self.afl(k, ?i) && break} # q # fuguai taisaku
.
610a
# case k when Symbol then send(k, v); next end
?_ == (k = k.to_s)[0] && (send(k[1 .. -1], v); next) # q
# case k when Symbol then send(k, v); break end
# case k when Symbol then send(k, v); true end && break
.
609c
# knid(k, :Symbol) && (aa.push(k, v); break)
# case k when Symbol then aa.push(k, v); break end
.
606a
# (@@tp + ary).each_slice(2) { |k, v| # .shift(2) higokan mruby 70410200
.
601c
# def pl_es(n, a, wt = false)
# @@tp.delete(nil)
# if wt
## @@tp<< ary
# @@tp.push(*ary)
# else
# aa = []
.
596c
# def pl_eg(n = 0, k)
def pl_eg(n, k)
.
592c
# self[n] = 0 == n ? @@Plmg.(pl_g(-1), pl) : pl # c
self[n] = 0 == n ? @@Plmg.(@@pl0i, pl) : pl # c
.
586c
# 0 != n ? (return pl) : pl.map { |a| a[1]} # r
0 == n ? pl.map! { |a| a[1]} :
# case pl when Array then else pl = @@plini end # higokan ? mruby 70410200
# case pl when Array then true end || pl = @@plini # higokan ? mruby 70410200
pl || pl = [] # pl ||= [] # higokan ? monami-ya.mrb:60510200 mruby:70410200
# a.empty? ? pl : a.map { |a| pl.afl(a, self)}
.
579c
# def pl_g(n = 0)
# def pl_g(n, *a)
def pl_g(n)
.
562,563c
# JSON::parse( ### @ca =
# ENV[@@Idx.lbl(a)])
(a = ENV[@@Idx.lbl(a)]) && ### @ca =
'[]' == a[0] << a[-1] && ### @ca =
JSON::parse(a)
.
534a

# n = a.shift
# (0 .. n).each{ |i| self[i] = *a}

a = @@plini
1.step(@@rmth + 1) { |i| self[i] = *a}
.
531,533d
524c
# def initialize(*a)
def initialize(a = nil)
.
503a
# @@tp = Array.new(0x8); @@tp.delete(nil)
# @@tp = Array.new(0x3f)
# @@tp = []

.
501a
@@thini = [false, 0]
@@plini = [@@thini, @@thini, [], []]
@@pl0i = nil


.
470c
# @@fml.assoc(sym)[@@fmli.index(lb) + 1] + [] # fukusayou ? kaihi : mruby 70410200
@@fml.assoc(sym)[i_lb] + [] # fukusayou ? kaihi : mruby 70410200
.
465,467c
# def fml(lb, sym)
def fml(i_lb, sym)
# Rg.new
.
463c
# def ta(l, cop) [l[0] || :_a, l[1] || cop][0 .. l[2] || 1] end
def ta(l, cop)
case l[0]
when Array then ta(l[0], cop) # __method__(l[0], cop) #? mruby 410200
else [l[0] || :_a, l[1] || cop][0 .. l[2] || 1]
end
end
.
456c
@fmli = @@fmli
.
450,451c
# attr_accessor :fml_th_bt
attr_accessor :fml_th_bt, :fmli
.
315,316c
# ([' ', ' '][(0 <=> a[2].size - 7) >> 1])}#{a[3].to_xeh}"
(s[(0 <=> a[2].size - 7) >> 1])}#{a[3].to_xeh}"
.
311a
s = [[' ', ' '], [' ', ' ']][a[0] <=> 2]
.
91,94d
52c
# @@rmth = 39
@@rmth = 7
.
29,30c
NSL_ = 6309 # OSX/PPC : 20476309 ? # nanosleep()
# NSL_ = 10065 # OSX/PPC : 20480065 ? # nanosleep()
.
9,10c
# :_ctr_s, :p, :r, :c, :fml_th_bt,
:_ctr_s, :p, :r, :c, :fml_th_bt, :fmli,
.
7d



--
YAMAGUTIseisei ( str_h__namae = { :sei => "山口" , :mei => "青星" } )
http://hello.to/seisei/ mailto:seisei@.68..net
論文翻訳投稿のワンポイント QA ( Usenet ) をプーチン大統領に 648 円にて提供
( ML ( DL ) でなく真の AI/AL ( 弱い ALife ) にてロシアの存在感に貢献し軍縮 )

YAMAGUTIseisei

unread,
Apr 4, 2022, 11:27:19 AM4/4/22
to
1745d
1737,1738c
## (pctj<< 1 + pco[0] = pc) if ifj.(sym) # p # c
(pctj<< 1 + pco[0] = pc) if sym # p
.
1731,1734c
# [(ifj.(sym) || ifs.(sym)) || # c 2
[(ifj.(sym) || [ifs.(sym), sym = false][0]) || # c 2 # sym hakai # bagu no moto
.
1729c
# loc.vrb [1, pc, sym, rg[:cop]] if 0 <= rg.p
@@Vrb.s<< [1, pc, sym, rg[:cop]] if 0 <= rg.p # p
.
1719a
@@Vrb.vrb
.
1704c
# true
.
1702a
! pcf
.
1701a
pfl && ise[i_i_d]<< pfl # p
.
1699,1700c
# else
# ise[i_i_d]<< pfl # p
.
1696,1697c
# next ! (ise[i_i_d]<< pfl) # r # p
pcf = false
else
pfl = nil
.
1691c
# if pfl = ise[i_i_d].pop
! if pfl = ise[i_i_d].pop
.
1603c
# (0 > c || (sym = stack.getarg_a; [sym, ! sym][c])) &&
(0 > c || [true, false].index(stack.getarg_a) == c) &&
.
1597,1601d
1541,1543c
# m = Fiber.yield ri && rf
# (fl.resume(m.abs) && rf = true) if 0 <= m # || 0 <= pc
(fl.resume(m) && rf = true) if 0 <= m = Fiber.yield(ri && rf) # || 0 <= pc
.
1539d
1536,1537c
# ri, rf = false
# Fiber.new { |m = 1|
Fiber.new { |m = 1, ri = false, rf = false|
.
1368a
# @@Vrb.s<< [2, pc, getarg__(verb[0]), verb[1]] # p
.
1342c
# str__getarg = STR__GETARG
.
1329a

# include M__RiteOpcodeUtil__Getarg__

.
1312c
) # .move # ? # conf.gem :github => 'miura1729/mruby-mmm'
.
1309,1310c
# c_l = Fls__l.new(loc, s, i, imem, @Rou, @pl)
c_l = Fls__l.new(loc, s, i, imem, @Rou, @pl, pc, @@Vrb)
.
1292c
# @loc.vrb [3, pc, @sym, *@rs.reverse]
@@Vrb.s<< [3, pc, @sym, *@rs.reverse]
.
1280a
# @f ||= [(@ji_ngq = ji_ngq).all? || return][0] # r
.
1270,1272c
ve.call
.
1256a
ve = ->{
# case v when Array then ! v.empty? end && vrb( # [2, pc, *v])
# [2, pc, *v.map{|v| case v when String then v.chomp else v end}]) # fuguai taisaku
case v when Array then ! v.empty? end && @@Vrb.s<< [2, pc, # *v] # p
*v.map{|v| case v when String then v.chomp else v end}] # fuguai taisaku
# *v.map{|v| knid(v, :String) ? @rou.getarg__(v) : v}] # otiru # fuguai taisaku
## [2, pc, *v.map{|v| knid(v, :String) ? @rou.getarg__(v) : v}] # fuguai taisaku
## "#{(pc).to_xeh} #{getarg__(v[0])} #{v[1].to_xeh}")}
}

.
1220c
@i_lb = imem.fmli.index('st') + 1
.
1212d
1210d
1208d
1206d
1200d
1198d
1195c
@plr.clear # .slice! .pop(n) .shift(n) higokan monami-ya.mrb:60510200 mruby:70410200
.
1193d
1191d
1189a
## mkt = ->(v) {v.nil?} # v[0].nil?} # l
.
1188d
1177c
# @s = s; @imem = imem; @lpl = lpl
@s = s; @imem = imem; @rou = rou, @lpl = lpl
.
1172,1173c
# def initialize(loc, s, irep, imem, rou, lpl)
def initialize(loc, s, irep, imem, rou, lpl, pc, vrb)

@@Vrb = vrb
.
1151d
1147,1148c
# self.replace(0 ... self.size & ((n = rmth + 1) << 1) | n]) # ?? # higokan ? mruby:70410200 monami-ya.mrb:60510200
# self.slice!((self.size & ((n = rmth + 1) << 1) | n) + 1 .. -1) # higokan mruby:70410200 monami-ya.mrb:60510200
.
1123a
@@Vrb = Vrb.new
.
1089,1091c
# @pl = ENVary.new(true) # 410200plini
plini(@@rmth, @pl = ENVary.new(true)) # 310200plini ?
.
1085d
1060d
1053d
1049a
module M__Vrb
@@s = nil

attr_accessor :s

def initialize(a = @@s)
@s = a ||= @@s ||= AryM.new
end

def vrb(a = nil)
@s.empty? && return # r

s = ''
@s.each{ |a|
case a
when Array
## s = [[' ', ' '], [' ', ' ']][a[0] <=> 2]
# s = [' ', ' ', ' '][a[0] & 1, 2]
# s = a[1].to_xeh << " " * a[0] <<
# sa ||= [[' ', ' '], [' ', ' ']][a[0] <=> 2]
sa ||= [' ', ' ', ' '][a[0] & 1, 2]
s << a[1].to_xeh << " " * a[0] <<
## "#{a[2]} #{a[3].to_xeh}"
# "#{a[2].to_s << (s[(0 <=> a[2].size - TABU1) >> 1])}#{a[3].to_xeh}"
# "#{a[2].to_s << (sa[(0 <=> a[2].size - TABU1) >> 1])}#{a[3].to_xeh}"
## 2 == a[0] && a[2] = (rou ||= ROU).getarg__(a[2]) # .chomp # fuguai taisaku ? ( freebsd8/i386 )
"#{(a[2] = (rou ||= ROU).getarg__(a[2])) << # .chomp << # fuguai taisaku ? ( freebsd8/i386 )
(sa[(0 <=> a[2].size - TABU1) >> 1])}#{a[3].to_xeh}"
a[4] && s << " #{a[4].to_xeh}"
else
# s = a
s << a
end

# puts s
s << "\n"
}
1 < s.size && puts(s.chop) # fuguai taisaku (osx/ppc, freebsd8/i386)
@s.clear
# @@Slp.slp 0
end
end

class Vrb
# include M__RiteOpcodeUtil__Getarg__
include M__Vrb
end
.
836d
829d
821a
v = []
.
820a
# m = sl.plwt(m, 0) { |n| Fiber.yield([flg || mx < thi][n])}
.
819d
815c
idx -= (idx <=> mx) >> 1 # += (mx <=> idx) + 1 >> 1
.
811,813c
# r || (next ini.call) # fuguai taisaku ?
r || (next(Fiber.yield(false); ini.call)) # fuguai taisaku ?
.
796,803c
## v[0] && ve.call
# v[0] && # (
# ve.call; v = [] # )

# r = pl_es(pc, kt.call ?
# (0 ... thi = idx + 1).flat_map { |n|
# [thl[ n ], [th[ n ]] + [[v], v = []][0]]} # .slice! higokan monami-ya.mrb:60510200 mruby:70410200
# : [thl[idx], [th[idx], [v]]])
r = pl_es(pc, ((kt.call ? (thi = idx + 1; 0) : idx) .. idx
).flat_map { |n| [thl[n], [th[n]] + [[v], v = []][0]]}) # .slice! higokan monami-ya.mrb:60510200 mruby:70410200
.
787,793c
# if 0 < idx && ckth(th[idx], 2) && kt.call # ji_ngq ||= plw__kt(pc)
# idx -= 1
# flg = true
## flg ||= true
# else
# th[idx], v = s_id(th[idx]) # if mx >= idx # && ckth(th[idx], 3)
# end
(0 < idx && ckth(th[idx], 2) && kt.call) ? # ji_ngq ||= plw__kt(pc)
(flg = ! ! idx -= 1) : # flg ||= true
(th[idx], v = s_id.(th[idx])) # if mx >= idx # && ckth(th[idx], 3) # c
.
785c
# (next ini.call)) # fuguai taisaku ?
(next(Fiber.yield(false); ini.call))) # fuguai taisaku ?
.
782a
s_id = ->(thidx) { # l
## thidx[0] = case a = thidx[0] when Numeric then a else getarg__(a) end
thidx = [st_id([thidx]), thidx] #(thidx), thidx]
thidx[0][1].nil? && thidx[0][1] = thidx[1]
thidx[0]
}

# Fiber.new { |m = 1| 0 < m && Fiber.yield(false)
Fiber.new { |m = 1| fb0.(m) # c
.
780,781c
# th = (idx .. mx = thl.hgt).map {tb}
.
778c
# Fiber.new { |m = 1| 0 < m && Fiber.yield(false)
.
773a
fb0 = ->(m) {0 < m && Fiber.yield(false)
th = (idx .. mx = thl.hgt).map {tb}}
.
770d
766c
# "#{(pc - 1).to_xeh} #{v[0].getarg} #{v[1].to_xeh}")}
# ][LV__VRB]
.
762,764c
# ve = [-> {},
# -> {loc.vrb([2, pc - 1, *v])}
.
760d
737,742c

# a = [a[1], case a = a[0] when Numeric then # nil
# else ?_ == a.to_s[0] ? 'getarg' << a : a end].reverse # .rotate # q # higokan monami-ya.mrb:60510200 mruby:70410200 : STR__GETARG , $str__getarg
# a = [a[1], case a = a[0] when Numeric then else getarg__(a) end].reverse # .rotate
.
732,733c
return [a[0], nil] if 0 >= a.hgt # r
## return a.ijr { |v| v.inject(@@imem.mcall) || v[0]} # r
.
726,730c
## knid(a, :Array) ? s_id(a) : # __method__(a) : #? mruby 410200 # heiretu : BeOS,PalmOS6,Aperios,HongmengOS,1489922543/30-42#97-98 <-> Smalltalk ( AlanKay , itojun ) ?
# case a when Array then s_id(a) else # __method__(a) else #? mruby 410200 # heiretu : BeOS,PalmOS6,Aperios,HongmengOS,1489922543/30-42#97-98 <-> Smalltalk ( AlanKay , itojun ) ? # higokan monami-ya.mrb:60510200 mruby:70410200
# a end

knid(a, :Array) ? # Thread.new { # TRON,BeOS,PalmOS6,Aperios,HongmengOS,1489922543/30-42#97-98 <-> Smalltalk(AlanKay,NAKAJIMA,YOKOTE,TOKORO,OTIAI,NAGAMATSU,TERAOKA,MITUZAWA,FUJINAMI,itojun),DeepConnect,PIMOS ?
# case a when Array then # Thread.new { # TRON,BeOS,PalmOS6,Aperios,HongmengOS,1489922543/30-42#97-98 <-> Smalltalk(AlanKay,NAKAJIMA,YOKOTE,TOKORO,OTIAI,NAGAMATSU,TERAOKA,MITUZAWA,FUJINAMI,itojun),DeepConnect,PIMOS ? # higokan monami-ya.mrb:60510200 mruby:70410200
# s_id(a) # } # __method__(a) # } #? mruby 410200
st_id(a)[0] # } # __method__(a) # } #? mruby 410200
: a
# else a end
.
723c
# ((tb = TB.dup) == a || knid(a, :Array).!) && (return a)
((TB) == a || knid(a, :Array).!) && (return a)
.
720c
# def s_id(a)
def st_id(a)
.
717a
getarg__(a[0]), a[1]) end
.
715c
# *a) end
.
709a
include M__RiteOpcodeUtil__Getarg__

.
682,686d
677,679c
# def ctr_s(ctr)
def ctr_s(c)
# pl_es(0, [:ctr, ctr])
# ctr
pl_es(0, [:ctr, c])
c
.
658d
585,586d
579,580d
567,568d
537d
535c
) # .move # ? # conf.gem :github => 'miura1729/mruby-mmm'
.
529,531c
def idx(*a) a[0].to_xeh end
def lbl(a) @@idb + idx(*a) end
.
525,527c
# def idx(*a)
# a[0].to_xeh
# end

# def lbl(a)
# @@idb + idx(*a)
# end
.
479c
# include M__RiteOpcodeUtil__Getarg__
.
460d
456,458c
# def getarg__(s)
# ?_ == s.to_s[0] ? 'getarg' << s : s # q # higokan monami-ya.mrb:60510200 mruby:70410200 : STR__GETARG , $str__getarg
# end
.
427d
371,423c
# when :NOP # 何もしない
# when :MOVE # MOVE Ra, RbでレジスタRaにレジスタRbの内容をセットする
# @stack[@sp + getarg_a(cop)] = @stack[@sp + getarg_b(cop)]
# @stack[r1] = @stack[r0]
# when :LOADL # LOADL Ra, pb でレジスタRaに定数テーブル(pool)のpb番目の値をセットする
# @stack[@sp + getarg_a(cop)] = @irep.pool[getarg_bx(cop)]
# @stack[r1] = @irep[0].pool[r0]
# ops = [[['getarg_bx', cop], [sp, ['getarg_a', cop]]]]
# when :LOADI # LOADI Ra, n でレジスタRaにFixnumの値 nをセットする
# @stack[@sp + getarg_a(cop)] = getarg_sbx(cop)
# @stack[r1] = r0
# when :LOADSYM
# @stack[@sp + getarg_a(cop)] = irep.syms[getarg_bx(cop)]
# @stack[r1] = @irep[0].syms[r0]
# when :LOADSELF # LOADSELF Ra でレジスタRaに現在のselfをセットする
# @stack[@sp + getarg_a(cop)] = @stack[@sp]
# @stack[r1] = @stack[r0]
# ops = [[[sp], [sp, ['getarg_a', cop]]]]
# when :LOADT
# @stack[@sp + getarg_a(cop)] = true
# @stack[r1] = r0
# when :ADD # ADD Ra, Rb でレジスタRaにRa+Rbをセットする
# @stack[@sp + getarg_a(cop)] += @stack[@sp + getarg_a(cop) + 1]
# @stack[r1] += @stack[r0 + 1]
# ops = [[[sp, ['getarg_a', cop]]]]
# when :ADDI
# @stack[@sp + getarg_a(cop)] += getarg_c(cop)
# @stack[r1] += r0
# when :SUB
# @stack[@sp + getarg_a(cop)] -= @stack[@sp + getarg_a(cop) + 1]
# @stack[r1] -= @stack[r0 + 1]
# when :SUBI # SUB Ra, n でレジスタRaにRa-nをセットする
# @stack[@sp + getarg_a(cop)] -= getarg_c(cop)
# @stack[r1] -= r0
# when :MUL
# @stack[@sp + getarg_a(cop)] *= @stack[@sp + getarg_a(cop) + 1]
# @stack[r1] *= @stack[r0 + 1]
# when :DIV
# @stack[@sp + getarg_a(cop)] /= @stack[@sp + getarg_a(cop) + 1]
# @stack[r1] /= @stack[r0 + 1]
# when :EQ # EQ Ra でRaとR(a+1)を比べて同じならtrue, 違うならfalseをRaにセットする
# val = (@stack[@sp + getarg_a(cop)] == @stack[@sp + getarg_a(cop) + 1])
# val = @stack[r1] == @stack[r0 + 1]
# @stack[@sp + getarg_a(cop)] = val
# @stack[r1] = val
.
364a
include M__RiteOpcodeUtil__Getarg__
.
358c
## self.send(:s__send, a[1][2 .. -1], *a[2 .. -1]) # higokan mruby 70410200
# self.send(:s__send, a[1].to_s[2 .. -1], *a[2 .. -1])
# send(:s__send, a[1][2 .. -1], *a[2 .. -1]) # higokan mruby 70410200
send(:s__send, a[1].to_s[2 .. -1], *a[2 .. -1])
.
353,355c
# when Array then return (a3 = a.pop).map{ |v| v.nil? ? v : send(*a, v)} # r
when Array then return a.pop.map{ |v| v.nil? ? v : send(*a, v)} # r
else send(*a)
.
345,346c
# def s__r1_eq_sr01(*a) a[0][ a[1] + 1] ==
# a[0][ a[2]] end
def s__r1_eq_sr01(*a) a[2] &&
a[0][a[1] + 1] == a[0][ a[2]] end
.
330c
# LOC = Plok.new(FL << ?/ << 'lok'.sub(/lok/, 'loc') # RISC OS ? # q
# Plok.new(FL << '/' 'lok'[''] = 'loc') # RISC OS ? # higokan monami-ya.mrb:60510200 mruby:70410200


module M__RiteOpcodeUtil__Getarg__
def getarg__(s)
?_ == (s = s.to_s)[0] ? 'getarg' << s : s # q # higokan monami-ya.mrb:60510200 mruby:70410200 : STR__GETARG , $str__getarg
end
end
.
303,322d
292d
248a
# def plwt(m = 1, sl = nil)
# sl && slp(sl)
.
230c
# def initialize; @@slp = @@nsl_.force[0] end #? mruby 410200
.
212c
# @@slp = nil
.
165a
# module M__Fiber
# def yield(a)
# [super, (sl = Slp.new).slp 0][0]
# end
# end
#
# class Fiber
# include M__Fiber
# end

.
153,155c
# (v = a[n]) && yield(v, c) && (next a.delete_at(n)); n += 1
(i = a[n]) && yield(i, c) && (next a.delete_at(n)); n += 1
.
151c
# (i > fr = a.size - fr) && i = fr
((i > fr = a.size - fr) || 0 == i) && i = fr
.
38a
TABU1 = 8 - 1
.
36c
THLB = :th
#MH_THL = (0 .. 1).map { |n| 'th' << n.to_xeh}
MH_THL = (0 .. 1).map { |n| THLB.to_s << n.to_xeh}
.
30c
# TS = 3 # = (@@rmth >> 1) + 1 # = $$ + 1 # = 68060
.
18,19d
11a
:-, :/, :*, :+,

:sr0, :r0, :sr01, :r1_eq_sr01,
:s__send, :__pool, :__syms,
.
8d
6d



--
YAMAGUTIseisei ( str_h__namae = { :sei => "山口" , :mei => "青星" } )
http://hello.to/seisei/ mailto:seisei@.68..net
英断 プーチン大統領 チェルノブイリ原●離脱令

YAMAGUTIseisei

unread,
Apr 24, 2022, 4:30:01 AM4/24/22
to
1098,1099c
@s.clear; 1 < s.size && # puts(s.chop) # .chop # fuguai taisaku (osx/ppc, freebsd8/i386)
(s.each_line { |s| puts s}; s = '') # fuguai taisaku ? (osx/ppc, freebsd8/i386)
.



--
YAMAGUTIseisei ( str_h__namae = { :sei => "山口" , :mei => "青星" } )
http://hello.to/seisei/ mailto:seisei@.68..net
祝 PhantomX



# 1098,1099c1098,1099
# < 1 < s.size && puts(s.chop) # fuguai taisaku (osx/ppc, freebsd8/i386)
# < @s.clear
# ---
# > @s.clear; 1 < s.size && # puts(s.chop) # .chop # fuguai taisaku (osx/ppc, freebsd8/i386)
# > (s.each_line { |s| puts s}; s = '') # fuguai taisaku ? (osx/ppc, freebsd8/i386)

YAMAGUTIseisei

unread,
Jun 26, 2022, 11:10:20 AM6/26/22
to
1826,1827c
# if 0 <= rg.p
if rg.flge?
.
1814c
# 0 > rg.p && rg.p = ~ rg.p
# 0 > (pt = rg.p) && rg.p = ~ pt
# rg.p = ~ rg.p
rg.flgflp # flg_e
.
1812d
1809,1810c
# if 0 > rg.p &&
if rg.flgd? && (
ise[i_i_d].empty? || (0 == ise[i_i_d].hgt && 0 > ise[i_i_d][-1][i_pc]))
.
1793,1803c
# vrb "#{pc.to_xeh} #{sym} #{rg[:cop].to_xeh}" if 0 <= rg.p
# @@Vrb.s<< [1, pc, sym, rg[:cop]] if 0 <= rg.p # p
@@Vrb.s<< [1, pc, sym, rg[:cop]] if rg.flge? # p

# [(ifj.(sym) || [ifs.(sym), sym = false][0]) || # c 2 # sym hakai # bagu no moto
# pctj.pop != pc && istm.call && ! ist.(pc), # false, # c
# (next if pcoj.call) ][0] && (
[stu.call, # sym hakai # bagu no moto
(next if pcoj.call) # r
][0] && (
## ifj.call && (pctj<< 1 + pco[0] = pc) # p
# (pctj<< 1 + pco[0] = pc) if sym # p
sym && pctj<< 1 + pco[0] = pc # p
# rg.p = ~ rg.p
rg.flgflp # flg_d
.
1787c
# if pco.pop || 0 <= rg.p
if pco.pop || rg.flge?
.
1779c
(ifj.call || [ifs.call, sym = false][0]) || # sym hakai # bagu no moto
pctj.pop != pc && istm.call && ! ist.(pc) # false # c
}
.
1775a
stu = -> { # l
.
1771,1772c
# ise[i_i_s]<< [0 > rg.p ? -pcl : pcl, Rg.new(*rg.to_a)] # p # cp
ise[i_i_s]<< [rg.flgd? ? ~ pcl : pcl, Rg.new(*rg.to_a)] # p # cp
.
1768d
1761,1762d
1753,1756c
# if -pcf == rg['pc'] # cp
if ~ pcf == rg['pc'] # cp
# pfl[i_pc] = -pcf # cp
pfl[i_pc] = ~ pcf # cp
.
1750d
1744,1745c
# rg.push(:cop, stack.c = (sym = @@opf.(irep, pcl)).shift) # c
rg.push(:cop, stack.c = (sym = @@opf.(irep, pcl))[0]) # c
# rg.push(:sym, sym = sym[0])
rg.push(:sym, sym = sym[1])
.
1734,1735c
rg.pop :cop; stack.c = rg[:cop]
.
1731,1732c
# if 0 > rg.p
if rg.flgd?
# rg.pop :cop
# rg.pop :sym
# stack.c = rg[:cop]
.
1717c
# if ifj.(sym) # c
if ifj.call
.
1663c
rg['pc', -1] = rg['pc'] + rou.getarg_sbx(cop) # cp
.
1661d
1638,1639c
# ifj = ->(sy) {?J == sy.to_s[0]} # l # q
# ifs = ->(sy) {[:ENTER, :SEND, :RETURN, :NOP].include?(sy)} # l
ifj = -> {?J == sym.to_s[0]} # l # q
ifs = -> {[:ENTER, :SEND, :RETURN, :NOP].include?(sym)} # l
.
1635d
1608,1609c
# rgd &&= nil
# sl.slp 0
sl_.slp 0
.
1603,1605c
# ri ||= true == fb.resume(rgd)
ri ||= [true == fb.resume(rgd), rgd = nil][0] # .slice! higokan mruby 70410200
.
1599,1601c
# Fiber.new { |m = 1, ri = false, rf = false|
Fiber.new { |m = 1, ri = false, rf = false, sl_ = @@Slp|
.
1596d
1593c
# sl = @Slp
.
1540d
1451,1452c
# [thl[oi], vrb.(fv[oi])] : []}].lazy] #? mruby 410200 # c
[thl[oi], vrb.(fv[oi])] : []}]] # c
.
1449c
[->(oi) {[thl[oi], vrb.(imem.ta(fv[oi], cop)), thl[oi + 1], tb]}, # l # c
.
1445,1446c
# [thl[oi], vrb.(fv[oi])] : []}, # c
# ->(oi) {[thl[oi], vrb.(imem.ta(fv[oi], cop)), thl[oi + 1], tb]}] # l # c
.
1438,1439c
# [thl[oi], vrb.(fv[oi])] : []}, # c
# ->(oi) {[thl[oi], vrb.(imem.ta(fv[oi], cop)), thl[oi + 1], tb]}] # .lazy # l # c
.
1429,1432c
vrb = ->(vrb) { # l # LV__VRB
# @@Vrb.s<< [2, pc, getarg__(vrb[0]), vrb[1]] # p
vrb
.
1412c
# ini = ->(rg) { # l
ini = ->(rg = nil) { # l
.
1410a
) # .move # ? # conf.gem :github => 'miura1729/mruby-mmm'
.
1409c
pc1, fml = nil
.
1400,1407c
# tb = TB.dup
tb = (TB)
loc = @@Loc
imem = @Imem
pl = @pl
# i_lf = @idx['lf']
i_lb = imem.fmli.index('th') + 1
sl = @Slp
.
1398c
# pc1 = 1 + pcabs = pc.abs # cp
.
1396c
pc, sp, cop, sym = nil
.
1393a
(
.
1375,1384c
# f ||= c_l.plg(pc) && c_l.rslt(pc)
# f = c_l.ca(m, pc) && f
f = c_l.plg(pc) && c_l.rslt(pc) && c_l.ca(m, pc)
c_l.verb(pc)
# sl.plwt(m) {m = Fiber.yield(f)}
sl_.plwt(m) {m = Fiber.yield(f)}
.
1373c
# Fiber.new { |m = 1, f = false|
Fiber.new { |m = 1, f = false, sl_ = @Slp|
.
1370c
# sl = @Slp
.
1368d
1365c
s = Stack.new
.
1361d
1349,1350c
## vrb "#{pc.to_xeh} #{@sym} #{rs[1]} #{rs[0]}"
.
1346c
def verb(pc)
.
1342d
1337,1338c
# @f = [ji_ngq.all? || return, @ji_ngq = ji_ngq][0] # r
@f = *[(@ji_ngq = ji_ngq).all? || return] # ||= higokan ? monami-ya.mrb:60510200 mruby:70410200 # r
.
1334,1335c
# ji_ngq[0] && @s.p = pl[@i_sp].flatten[0]
ji_ngq[0] && @s.p = pl[@@i_sp].flatten[0]
# @sym ||= pl[lpl.afl('sym', ?i)].to_sym # q
@sym ||= pl[@@i_sym].to_sym
.
1327c
# r[1] = r[0] if case pl[@i_sp][0] when Array then lpl.ckth(r[1], 2) end
r[1] = r[0] if case pl[@@i_sp][0] when Array then lpl.ckth(r[1], 2) end
.
1324d
1319,1321c
# thl.each_with_index { |h, n|
(0 ... thl.size).each { |n|
# r[n] = (pl[lpl.afl(h, ?i)] || @r[n]) # q # fuguai taisaku
r[n] = (pl[lpl.afl(thl[n], ?i)] || @r[n]) # q # fuguai taisaku
.
1307,1308d
1304a
ji_ngq = [false] # , false]
.
1303d
1301c
@@i_sp ||= lpl.afl('ctr', ?i) # q
@@i_sym ||= lpl.afl('sym', ?i) # q
# thl = $mh_thl
thl = @@mh_thl
.
1283,1288c
# (@ca).force[ #? mruby 410200
# @ca.force[ #? mruby 410200
@ca[
ji_ngq[1] ? 0 : 1].call
end
.
1281d
1277,1278d
1275a
## (@ca).force[ #? mruby 410200
## @ca.force[ #? mruby 410200
# @ca[
# ji_ngq.inject(0) { |ca, v| ca = v ? 0 : 1 | ca << 1}
# ].(ji_ngq[0] && @plr.size, @r) # c

.
1268c
# @i_sp = lpl.afl('ctr', ?i) # q
.
1260c
->(sz, r) { # ji_ngq[-1]
.
1257,1258c
sz.step((ap = (ap += ap >> 1) >> 1)) { |n| plr<< lm.(s[n])} # + (ap <=> 0)) # p # c
# plr<< s.ow?(n) ? nil : lm.(isr0, s[n]) # p # c
.
1254c
# ->(sz, r) { # ji_ngq[0]
->(sz = plr.size, r = @r) { # ji_ngq[0]
.
1248,1250c
# ->(sz, r) { # f
->(sz = plr.size, r = @r) { # f
# @r = @r1 <= sz && @plr[@r1] || lm.(@r1) # c
@r = r[1] <= sz && plr[r[1]] || lm.(r[1]) # c
# @plr.clear # .slice! .pop(n) .shift(n) higokan monami-ya.mrb:60510200 mruby:70410200
plr.clear # .slice! .pop(n) .shift(n) higokan monami-ya.mrb:60510200 mruby:70410200
.
1244c
# @pl = []; @plr = []
@pl = []; plr = []
.
1239c
# @f = false; @ji_ngq = [false, false]
ap = @f = false; @ji_ngq = [ap, ap]
.
1233d
1226d
1224a
@@i_sp, @@i_sym = nil
.
1098,1099c
@s.clear; 1 < s.size && # puts(s.chop) # .chop # fuguai taisaku (osx/ppc, freebsd8/i386)
(s.each_line { |s| puts s}; s = '') # fuguai taisaku ? (osx/ppc, freebsd8/i386)
.
1095d
1091d
1084,1085c

.
1077,1079d
1053a
def flgflp; @p = ~ @p end
# def flg_e; @p = ~ @p end
# def flg_d; @p = ~ @p end
def flge?; 0 <= @p end
def flgd?; 0 > @p end

.
863c
## fpl = delif_c(1, fpl) { |fb, n| fb.resume(pc)} # ?
.
856,857d
853c
# fpl<< self.plw(pc) if flg[0] # p
.
847c
pc && 0 <= pc && fpl<< plw(pc) # p
.
834c
# v = []
.
824d
807,815c
# r = pl_es(pc, ((kt.call ? (thi = idx + 1; 0) : idx) .. idx
r = pl_es(pc, ((kt.call ? (flg ||= mx <= idx; 0) : idx) .. idx
.
795,804c
0 < idx && ckth(th[idx], 2) && kt.call ? flg = ! ! idx -= 1 : # ji_ngq ||= plw__kt(pc) # flg ||= true
# 0 < idx && ckth(th[idx], 2) && kt.call ? idx -= 1 : # ji_ngq ||= plw__kt(pc)
(th[idx], v = s_id.(th[idx])) # if mx >= idx # && ckth(th[idx], 3) # c
.
792,793c
# (next(Fiber.yield(false); ini.call))) # fuguai taisaku ?
(next(Fiber.yield(! ini.call)))) # false # fuguai taisaku ?
.
788d
777,785c
s_id = ->(ti) { # l
## ti[0] = case a = ti[0] when Numeric then a else getarg__(a) end
# ti = [st_id([ti]), ti] #(ti), ti]
a = (ti = [st_id([ti]), ti])[0] #(ti), ti])[0]
# ti[0][1].nil? && ti[0][1] = ti[1]
a[1].nil? && a[1] = ti[1]
# ti[0]
a
.
771,772c
# fb0 = ->(m) {0 < m && Fiber.yield(false)
# th = (idx .. mx = thl.hgt).map {tb}}
fb0 = ->(m) {0 < m && Fiber.yield(false); th = [tb] * (1 + mx = thl.hgt)}
.
759,765c
# v = []
## "#{(pc - 1).to_xeh} #{getarg__(v[0])} #{v[1].to_xeh}")} # LV__VRB
.
756a
imem = @@Imem
.
739,741d
729a
# (a = st_id(a) # } # __method__(a) # } #? mruby 410200
# a.delete_at(-1) if 0 < a.hgt
# a)
.
728d
722,725d
714d
703c
# def initialize; end
.
672,673d
670d
547,549d
522,532c
def idx(*a) a[0].to_xeh end
def lbl(a) @@idb + idx(*a) end
.
477d
363d
357d
347,348d
225d
156,158c
# i.times { |c|
i.times { |fr|
# (i = a[n]) && yield(i, c) && (next a.delete_at(n)); n += 1
(i = a[n]) && yield(i, fr) && (next a.delete_at(n)); n += 1
.
154d
103d
37d
6c
:ctr, :th, :th0, :th1 , :sym, :cop, :sp, :pc,
.



--
YAMAGUTIseisei ( str_h__namae = { :sei => "山口" , :mei => "青星" } )
http://hello.to/seisei/ mailto:seisei@.68..net
日が照つてゐた 今から五億年前に ──高橋新吉



# From - Sun Apr 24 08:31:34 2022
# Date: Sun, 24 Apr 2022 08:27:10 +0000
# From: YAMAGUTIseisei <sei...@hello.to>
# Organization: NaritaSyuzanJyuku
# User-Agent: Mozilla/5.0 (BeOS; U; BeOS BePC; en-US; rv:1.8.1.17) Gecko/20080930 Thunderbird/2.0.0.17 ThunderBrowse/3.82 Mnenhy/0.7.6.0
# Newsgroups: relcom.comp.sources.d,tw.bbs.comp.sources,japan.test
# Followup-To: tw.bbs.edu.computer-science,fj.sys.x68000
# Subject: Debug ? ( Was : jit-1_-_github__ysei‾mruby-meta-circular-heiretu_-_nightly_-_2_0_2_2_0_4_0_4__4040220200.rb )
# In-Reply-To: <t2f2ok$e4k$1...@dont-email.me>
#
# 1098,1099c
# @s.clear; 1 < s.size && # puts(s.chop) # .chop # fuguai taisaku (osx/ppc, freebsd8/i386)
# (s.each_line { |s| puts s}; s = '') # fuguai taisaku ? (osx/ppc, freebsd8/i386)
# .
#
#
#
# --
# YAMAGUTIseisei ( str_h__namae = { :sei => "山口" , :mei => "青星" } )
# http://hello.to/seisei/ mailto:seisei@.68..net
# 祝 PhantomX
#
#
#
# # 1098,1099c1098,1099
# # < 1 < s.size && puts(s.chop) # fuguai taisaku (osx/ppc, freebsd8/i386)
# # < @s.clear
# # ---
# # > @s.clear; 1 < s.size && # puts(s.chop) # .chop # fuguai taisaku (osx/ppc, freebsd8/i386)
# # > (s.each_line { |s| puts s}; s = '') # fuguai taisaku ? (osx/ppc, freebsd8/i386)
#
#
#

YAMAGUTIseisei

unread,
Oct 17, 2022, 6:09:08 PM10/17/22
to
1790d
1788c
@@Vrb.vrb
.
1777d
1770d
1765c
# )
end
.
1761,1763c
# sym && pctj<< 1 + pco[0] = pc # p
sym || pctj<< 1 + pco[0] = pc # p
.
1754,1759c
# [stu.call, # sym hakai # bagu no moto
# (next if pcoj.call) # r
# ][0] && (
if [stu.call, ( # sym hakai # bagu no moto
next if pcoj.call)][0] # r
then
.
1752a
## @@Vrb.vrb
.
1751d
1743d
1730,1733c
# (ifj.call || [ifs.call, sym = false][0]) || # sym hakai # bagu no moto
ifj.call || (ifs.call || sym = false) || # sym hakai # bagu no moto
.
1728d
1724,1725c
# ise[i_i_s]<< [rg.flgd? ? ~ pcl : pcl, Rg.new(*rg.to_a)] # p # cp
ise[i_i_s]<< [rg.flgd? ? ~ pcl : pcl, rg.to_ra('pc', 'sp', :cop, :sym)] # p # cp
.
1711,1713c
# pfl[i_pc] = ~ pcf # cp
# pcf = false
pcf = ! pfl[i_pc] = ~ pcf # cp
.
1709d
1701d
1699d
1686,1688d
1684d
1669d
1589,1590d
1559,1561c
# sl_.slp 0
.
1555d
1552,1553c
# Fiber.new { |m = 1, ri = false, rf = false, sl_ = @@Slp|
Fiber.new { |m = 1, ri = false, rf = false|
.
1544,1547c
# pc = rg['pc']
# rgd = rg.dup
# rgd = rg.to_ra('pc', 'sp', :cop, :sym)
rgd = rg
pc = rgd[0]
.
1513c
args<< stack[a + i + 1] # p
# args<< stack.getarg_a(i + 1) # p
.
1495c
# callinfo.p += (callinfo[0 .. 2] = rg.to_ra('sp', 'pc') + [irep]).size
callinfo.p += (callinfo[0 .. 2] = rg.to_ra('sp', 'pc') << irep).size
.
1453,1455c
# sp = [sp].flatten
sp = [*sp]
.
1451d
1448,1449d
1445a
pl.pl_es(pc1, opg.(thi)) # c
.
1440,1444c
rg && ini.(rg) # c
.
1438c
# 0.upto(NaN) { |thi| # higokan ? mruby 70410200
.
1428d
1422d
1419d
1414,1417d
1396,1403c
fvl = [->(oi) {[:ctr, [sp]] + [[:_ctr_s, pc1], []][oi <=> 0]}, # l
.
1381d
1370d
1367,1368c
ini = ->(rg = nil) { # l
# ini = ->(pc, sp, cop, sym) { # l
.
1363,1364c
# pc1, fml = nil
pc1, pcabs, fml = nil
.
1360c
i_lb = imem.fmli.index('th') # + 1
.
1354d
1349a
# pc, sp, cop, sym = rg.to_ra('pc', 'sp', :cop, :sym)
.
1348d
1332,1336c
# f = c_l.plg(pc) && c_l.rslt(pc) && c_l.ca(m, pc)
f = c_l.plg && c_l.rslt && 0 == m && c_l.ca

## fb = fb.drop_while{|lm| f = lm.(m)}

c_l.verb # (pc)
.
1329d
1325,1326c
# c_l = Fls__l.new(loc, s, i, imem, @Rou, @pl, pc, @@Vrb)
# c_l = Fls__l.new(loc, s, i, imem, @Rou, @pl)
c_l = Fls__l.new(s, i, imem, @Rou, @pl, pc, @@Vrb)

## fb = Fb = [->(m){c_l.plg}, ->(m){c_l.rslt}, ->(m){0 == m}, ->(m){c_l.ca}]
## fb = Fb = [->{c_l.plg}, ->{c_l.rslt}, ->{c_l.ca}]

.
1308,1309c
## @@Vrb.vrb "#{@pc.to_xeh} #{@sym} #{r[0].to_xeh} #{r[1].to_xeh}"
# @@Vrb.vrb [3, pc, @sym, *@rs.reverse] # p
@@Vrb.s<< [3, @pc, @sym, *@r] # p
.
1305c
def verb # (pc)
.
1301,1302c
def plg # (pc)
# @f || ! ((@pl = @lpl.pl_g(pc + 1)).empty? && @r.empty?) # fuguai taisaku
@f || ! ((@pl = @lpl.pl_g(@pc + 1)).empty? && @r.empty?) # fuguai taisaku
.
1297,1298c
# @f = *[(@ji_ngq = ji_ngq).all? || return] # ||= higokan ? monami-ya.mrb:60510200 mruby:70410200 # r
@f ||= (@ji_ngq = ji_ngq).all? || return # r
.
1291,1295c
(ji_ngq = (@r = r).map { |r| lpl.ckth(r, 1)})[0] &&
@s.p = [sp].flatten[0]
# @sym ||= pl[@@i_sym].to_sym
.
1284,1285c
# r[1] = r[0] if case pl[@@i_sp][0] when Array then lpl.ckth(r[1], 2) end
r[1] = r[0] if case sp when Array then ji_ngq[1] = lpl.ckth(r[1], 2) end
.
1278,1279c
# r[n] = (pl[lpl.afl(thl[n], ?i)] || @r[n]) # q # fuguai taisaku
r[n] = (pl[@@i_thl[n] ||= lpl.afl(thl[n], ?i)] || @r[n]) # q # fuguai taisaku
.
1276d
1257,1259c
@sym ||= pl[lpl.afl('sym', ?i)].to_sym # q

# @@i_sp ||= lpl.afl('ctr', ?i) # q
sp = pl[@@i_sp ||= lpl.afl('ctr', ?i)][0] # q
# @@i_sym ||= lpl.afl('sym', ?i) # q
.
1249,1253c
def rslt # (pc)
pc = @pc
.
1243a
### (1 <=> @plr.size) | (ji_ngq[1] ? 0 : 1)].(@plr.size, @r) # c
.
1237,1238c
# @pr || (@pr, @sy = @imem.fml(@i_lb, @sym)
# ?_ != @pr.to_s[1] || @mt = @pr) # q
@pr || (pr, @sy = @imem.fml(@i_lb, @sym)
?_ != (@pr = pr).to_s[1] || @mt = pr) # q
.
1230,1234c
# ji_ngq && @plr.clear
.
1227,1228c
def ca # (m, pc) # (i)
# 0 == m || return
.
1223c
@i_lb = imem.fmli.index('st') # + 1
.
1210,1216c
0 == s.size ? Slp.new.slp(0) : ## @Slp.slp(0) :
# sz.step(sz + (ap = (ap += ap >> 1) >> 1)) { |n| @plr<< lm.(s[n])} # + (ap <=> 0)) # p # c
# @plr += lm.(s[sz, ap = (ap += ap >> 1) >> 1]) # c
as = s[sz, ap = (ap += ap >> 1) >> 1]
as && plr += lm.(as) # c
# plr<< s.ow?(n) ? nil : lm.(s[n]) # p # c
} # , # @rs[1] = r[0]
# ->(sz, r) { # ji_ngq[-1]
# }, # @rs[0] = r[1]
# ->(sz, r) {}
.
1206c
}, # rs = [r1, r0]
.
1204c
s[r[1]] = @sy ? [s[r[1]], _].inject(@sy) : _
.
1200,1202c
# @r = r[1] <= sz && plr[r[1]] || lm.(r[1]) # c
_ = r[1] < sz && plr[r[1]] || lm.(r[1]) # c
.
1198c
# ->(sz, r) { # f
.
1195c
# lm = ->(r1) {r1 && rou.send(@pr, @mt ? irep : s, @r[0], r1, @mt)} # l
lm = ->(r1) {rou.send(@pr, @mt ? irep : s, @r[0], r1, @mt)} # l
.
1193d
1190,1191c
ap = @@fls_m ||= (ap = 1 << @@fls_m = 3; # @@fls_mc.(3) # c
((ap += (ap <<= 1) + (ap <<= 2) + (ap << 2)) >> @@fls_m) + 1 >> 1)
.
1187d
1184c
# @pr, @sym, @mt, @r0, @r1 = nil; @r = []; @rs = [?-, ?-] # q 2
@pr, @sym, @mt = nil; @r = []
.
1182c
# @s = s; @imem = imem; @rou = rou, @lpl = lpl
@s = s; @imem = imem; @rou = rou, @lpl = lpl; @pc = pc
.
1180c
# @loc = loc
.
1176c
# def initialize(loc, s, irep, imem, rou, lpl, pc, vrb)
def initialize(s, irep, imem, rou, lpl, pc, vrb)
.
1174c
# @@i_sp, @@i_sym = nil
# @@i_sp = nil
@@i_sp, @@i_sym = nil; @@i_thl = []
.
1167,1172c
# @@fls_mc = ->(sz) {
# @@fls_m = 1 << sz
# [((@@fls_m += (@@fls_m <<= 1) + (@@fls_m <<= 2) + (@@fls_m << 2)) >> sz
# ) + 1 >> 1,
# @@fls_mc = nil][0]
# }
.
1045,1048c
s << "\n" # "\C-J" "\xa" http://techracho.bpsinc.jp/hachi8833/2018_06_21/58071
# }.chop # .chop # fuguai taisaku (osx/ppc, freebsd8/i386)
}
# )
# 0 > fr && f && break # (a ||= 0 <= fr ,,, ) || break # r # m # PUTSN:- || pc:!-
0 <= fr && f && break # (a ||= 0 <= fr ,,, ) || break # r # m # PUTSN:- || pc:!-
end
1 < s.size && # puts(s.chop) # .chop # fuguai taisaku (osx/ppc, freebsd8/i386)
(s.each_line { |s| puts s}; s = '') # fuguai taisaku ? (osx/ppc, freebsd8/i386)
# @s.clear
.
1040,1043c
a[4] && s << " #{a[4].to_xeh}"
else
s << a
end
.
1037,1038c
## 2 == a[0] && a[2] = (rou ||= ROU).getarg__(a[2]) # .chomp # fuguai taisaku ? ( freebsd8/i386 )
"#{(a[2] = (rou ||= ROU).getarg__(a[2])) << # .chomp << # fuguai taisaku ? ( freebsd8/i386 )
.
1029,1035c
until @s.empty?
# s = ''
# @s.each{ |a|
# puts(
@s.delif_c(ptn, fr){ |a| # fuguai taisaku ? ( osx/ppc, freebsd8/i386 )
case a
when Array
# sa ||= [[' ', ' '], [' ', ' ']][a[0] <=> 2]
sa ||= [' ', ' ', ' '][a[0] & 1, 2]
s << a[1].to_xeh << " " * a[0] <<
## "#{a[2]} #{a[3].to_xeh}"
.
1025,1026c
# def vrb(a = nil)
def vrb(f = true, fr = 0)
# @s.empty? && return # r

# ptn, fr = 0 > (ptn = PUTSN) ? [~ ptn, (ptn <=> -1) <=> 1] : [ptn, 0]
# # ptn : tune ni seinokazu ni naru , fr : 0 miman wa redo/delif_c
ptn = PUTSN
.
1022c
# @s = a ||= @@s ||= AryM.new
@s = a ||= AryM.new
.
976d
967d
962d
957d
952d
947d
945d
923,924c
# def rs(r = nil)
# @r = r
.
908,920d
893a
def size; @s.length - @p end

.
865,866c
s
# @s
.
855c
# attr_accessor :c, :p, :r
attr_accessor :c, :p, :r, :s
.
811,812c
# fpl = delif_c(ts, fpl) { |fb, n| fb.resume(n)}
fpl = delif_c(ts, 0, fpl) { |fb, n| fb.resume(n)}
## fpl = delif_c(1, 0, fpl) { |fb, n| fb.resume(pc)} # ?
.
794c
# sl = @@Slp
(sl = @@Slp).slp
.
785c
m = sl.plwt(m) { |n| Fiber.yield([ji_ngq][n])}
.
782c
# m = sl.plwt(m) { |n| Fiber.yield([flg || mx < thi][n])}
.
770,775d
766,767c
# r = pl_es(pc, ((kt.call ? (flg ||= mx <= idx; 0) : idx) .. idx
# r = pl_es(pc, ((kt.call && mx <= idx ? 0 : idx) .. idx # kt : ato
r = pl_es(pc, ((mx <= idx && kt.call ? 0 : idx) .. idx
.
761,762c
# 0 < idx && ckth(th[idx], 2) && kt.call ? flg = ! ! idx -= 1 : # ji_ngq ||= plw__kt(pc) # flg ||= true
0 < idx && ckth(th[idx], 2) && kt.call ? idx -= 1 : # ji_ngq ||= plw__kt(pc)
.
758,759c
# (next(Fiber.yield(! ini.call)))) # false # fuguai taisaku ?
(next Fiber.yield(! ini.call))) # false # fuguai taisaku ?
.
751d
749d
745,747c
s_id = ->(ti) { # l
## case a = ti[0] when Numeric then else ti[0] = getarg__(a) end
.
737,739c
# idx, thi, ji_ngq = (ini = -> {[idx = 0, thi = 0, ji_ngq = false]}).call # l # fuguai taisaku ? # idx = 0 ##
idx, ji_ngq = (ini = -> {[idx = 0, ji_ngq = false]}).call # l # fuguai taisaku ? # idx = 0 ##
.
731,733d
726c
# loc = @@Loc
.
712a
a = [a[1], case a = a[0] when Numeric then else getarg__(a) end].reverse # .rotate
# a[0] = a.cycle{ |a| break(case a when Numeric then else getarg__(a) end)}
# a[0] = a.cycle{ |a| break(case a when Numeric then else ROU.getarg__(a) end)}
.
702,705c
# a.delete_at(-1) if 0 < a.hgt)
# end
a
.
700c
# st_id(a)[0] # } # __method__(a) # } #? mruby 410200
a = st_id(a)[0] # } # __method__(a) # } #? mruby 410200
.
698c
# knid(a, :Array) ? # Thread.new { # TRON,BeOS,PalmOS6,Aperios,HongmengOS,1489922543/30-42#97-98 <-> Smalltalk(AlanKay,NAKAJIMA,YOKOTE,TOKORO,OTIAI,NAGAMATSU,TERAOKA,MITUZAWA,FUJINAMI,itojun),DeepConnect,PIMOS ?
knid(a, :Array) && # Thread.new { # TRON,BeOS,PalmOS6,Aperios,HongmengOS,1489922543/30-42#97-98 <-> Smalltalk(AlanKay,NAKAJIMA,YOKOTE,TOKORO,OTIAI,NAGAMATSU,TERAOKA,MITUZAWA,FUJINAMI,itojun),DeepConnect,PIMOS ?
.
694,695c
# ((TB) == a || knid(a, :Array).!) && (return a)
((TB) == a || ! knid(a, :Array)) && (return a)
.
669,670c
# 0 == md >> bfsz && break
0 == (md >>= bfsz) >> bfsz && break
# end == true
end.!.!
.
667c
# md >>= bfsz
.
525a
# unless $mh_thl
## @@m.lock
$mh_thl ||= (0 .. 1).map { |n| 'th' + n.to_xeh}
## @@m.unlock

.
516a

.
513,515c
# def initialize(idb = FL.dup) @@idb = idb end
# def idx(*a) a[0].to_xeh end
# def lbl(a) @@idb + idx(*a) end
include M__Idx
.
508c
module M__Idx
def initialize(idb = FL.dup) @@idb = idb end
def idx(*a) a[0].to_xeh end
def lbl(a) @@idb + idx(*a) end
end
.
465c
# @@fml.assoc(sym)[i_lb] + [] # fukusayou ? kaihi : mruby 70410200
@@fml.assoc(sym)[i_lb + 1] + [] # fukusayou ? kaihi : mruby 70410200
.
448,451d
439d
419a
# include M__RiteOpcodeUtil__Getarg__

.
356d
352a
## when Array then a.pop.map{ |v| v.nil? ? v : self.send(*a, v)}
.
155d
153d
144c
# def delif_c(i = @@ts, a = nil, fr = 0)
def delif_c(i = @@ts, fr = 0, a = nil)
.
56d
32a
PUTSN = 0 # = ~ 0 # = ~ 68 # = 0xbe
.
21c
# :fibt].clear # , :ji_ngq
:fibt, :FRTH].clear # , :FORTH, :FOURTH, :$DEADC0DE
.
19a
:sr0, :r0, :sr01, :r1_eq_sr01,
:s__send, :__pool, :__syms,
.
12,13d
10c
:-, :/, :*, :+, :ji_ngq,
.
7c
# :_ctr_s, :p, :r, :c, :fml_th_bt, :fmli,
:_ctr_s, :s, :p, :r, :c, :fml_th_bt, :fmli,
.



--
YAMAGUTIseisei ( str_h__namae = { :sei => "山口" , :mei => "青星" } )
http://hello.to/seisei/ mailto:seisei@.68..net phs://081.70.5152.1104/
日が照つてゐた 今から五億年前に ──高橋新吉

YAMAGUTIseisei(MasinZenmetu)

unread,
Jan 7, 2024, 9:44:27 AMJan 7
to
1780,1782c
# ise[i_iD].reject!.with_index { |fis, n|
# ise[i_iD].delif_c(ts) { |fis, n|
ise[i_iD].delif_c { |fis, n|
.
1773,1776c
# ise[i_iS].reject! { |pfl| # Inspired by : RobertDoggett ? http://microware.com/# , Professor TAKAZAWA Yosimitu http://mu.ice.uec.ac.jp/~takazawa/
# ise[i_iS].delif_c(ts) { |pfl, n|
ise[i_iS].delif_c { |pfl, n|
ise[i_iD]<< [pfl[i_pc], isfl(pfl[i_rg])] # p
.
1767,1768c
@sp = rg[:sp]
stack.p = rg[:sp]
.
1764,1765c
rg.shift(:pc); rg.shift(:sp); rg.shift(:cop); rg.shift(:sym)
@pc = pc = rg[:pc]
.
1745,1746c
# if rg.flgd? && (
# ise[i_iD].empty? || (0 == ise[i_iD].hgt && 0 > ise[i_iD][-1][i_pc]))
if rg.flgd? &&
ise[i_iD].empty? || (0 == ise[i_iD].hgt && 0 > ise[i_iD][-1][i_pc])
.
1741,1742c
rg.push(:pc, pc = rg[:pc, -1] + 1)
rg.push(:sp, rg[:sp, -1])
.
1735,1737c
sym && pctj<< 1 + pco[0] = pc # p # ifj.call && pctj<<
# sym || pctj<< 1 + pco[0] = pc # p # ifj.call && pctj<<
.
1708,1709c
# ifj.call || (ifs.call || sym = false) || # sym hakai # bagu no moto
ifj.call || (! sym = ! ifs.call) || # sym hakai # sym = (nifs && nifj) # bagu no moto
.
1703,1704c
ise[i_iS]<< [rg.flgd? ? ~ pcl : pcl, rg.to_ra(:pc, :sp, :cop, :sym)] # p # cp
.
1697,1698c
pfl && ise[i_iD]<< pfl # p
.
1689,1691c
if ~ pcf == rg[:pc] # cp
.
1687c
! if pfl = ise[i_iD].pop
.
1645,1647c
# rg[:sp] = @callinfo[@cp]
# rg[:sp, -1] = @callinfo[@cp]
rg[:sp, -1] = callinfo[0]
.
1639,1640c
# rg[:pc, -1] = @callinfo[@cp]
rg[:pc, -1] = callinfo[0] + 1
.
1602c
rg[:pc, -1] = rg[:pc] + rou.getarg_sbx(cop) # cp
.
1598c
# end && rg[:pc, -1] = rg[:pc] + rou.getarg_sbx(cop)
.
1578c
# ifj = -> {?J == sym.to_s[0]} # l # q
ifj = -> {?J == sym[0]} # l # q
.
1576c
rg = Rg.new([:pc, [pc]], [:sp, [@sp]], [:cop, []], [:sym, []])
.
1574c
i_iD = 0; i_iS = 1; i_pc = 0; i_rg = 1; i_fb = 1
.
1549,1550d
1544,1546c
Fiber.new { |m = 1, ri = false, rf = false, sl_ = @@Slp|
# Fiber.new { |m = 1, ri = false, rf = false|
# loop {
loop { sl_.slp 0
.
1537c
# rgd = rg.to_ra(:pc, :sp, :cop, :sym)
.
1535c
# pc = rg[:pc]
.
1508c
# @stack[rg[:sp] + a] = @stack[rg[:sp] + a].send(mid, *args)
.
1492c
rg[:pc, -1] = 0
.
1488,1489c
# rg[:sp] += a
rg[:sp, -1] = rg[:sp] + a
.
1484,1485c
# callinfo.p += (callinfo[0 .. 2] = rg.to_ra(:sp, :pc) + [irep]).size
callinfo.p += (callinfo[0 .. 2] = rg.to_ra(:sp, :pc) << irep).size
.
1477c
# callinfo[0] = rg[:pc]
.
1473c
# callinfo[0] = rg[:sp]
.
1469c
# newirep = Irep::get_irep(@stack[rg[:sp] + a], mid)
.
1437d
1432d
1361,1362c
# pc, sp, cop, sym = [rg[:pc], rg[:sp], rg[:cop], rg[:sym]]
# pc, sp, cop, sym = rg.to_ra(:pc, :sp, :cop, :sym)
.
1355d
1346,1348d
1344d
1336,1339d
1333d
1275,1278c
# case v when Array then ! v.empty? end && @@Vrb.s<< [2, pc, # *v] # p
# *v.map{|v| case v when String then v.chomp else v end}] # fuguai taisaku
case v when Array then ! v.empty? end &&
@@Vrb.s<< [2, pc, # *v] # p
*v.map{|v| case v when String then v.chomp else v end}] # fuguai taisaku
# *v.map{|v| knid(v, :String) ? @rou.getarg__(v) : v}] # otiru # fuguai taisaku
## [2, pc, *v.map{|v| knid(v, :String) ? @rou.getarg__(v) : v}] # fuguai taisaku
.
1247c
# ?_ != (@pr = pr).to_s[1] || @mt = pr) # q
?_ != (@pr = pr)[1] || @mt = pr) # q
.
1244,1245d
1225,1227d
1215,1216c
->(sz = plr.size, r = @r) { # ji_ngq[0]
.
1207,1210c
->(sz = plr.size, r = @r) { # f
# _ = r[1] < sz && plr[r[1]] || lm.(r[1]) # c
_ = plr.fetch(r[1]) { |v| (r[1] >= sz || mkt.(v)) ? lm.(r[1]) : v} # c 2
.
1205c
mkt = ->(v) {v.nil?} # v[0].nil?} # l
.
1190d
1183d
1179d
1051,1052c
# 1 < s.size && # puts(s.chop) # .chop # fuguai taisaku (osx/ppc, freebsd8/i386)
# (s.each_line { |s| puts s}; s = '') # fuguai taisaku ? (osx/ppc, freebsd8/i386)
.
1047c
## )
1 < s.size && # puts(s.chop) # .chop # fuguai taisaku (osx/ppc, freebsd8/i386)
s.each_line { |s| puts s} # fuguai taisaku ? (osx/ppc, freebsd8/i386)
.
1045c
# }.chop # fuguai taisaku (osx/ppc, freebsd8/i386)
.
1036,1038c
# "#{(a[2] = (rou ||= ROU).getarg__(a[2])) << # .chomp << # fuguai taisaku ? ( freebsd8/i386 )
# (sa[(0 <=> a[2].size - TABU1) >> 1])}#{a[3].to_xeh}"
"#{a[2] << sa[(0 <=> a[2].size - TABU1) >> 1]}#{a[3].to_xeh}"
.
1032a

2 == a[0] && a[2] = (rou ||= ROU).getarg__(a[2]) # .chomp # fuguai taisaku ? ( freebsd8/i386 )

.
1025,1027c
s = ''
## puts(
.
1023c
# s = ''
.
1011d
788,789c
# m = sl.plwt(m, 0) { |n| Fiber.yield([flg][n])}
m = sl.plwt(m, 0) { |n| Fiber.yield([ji_ngq][n])}
.
785,786d
780c
# r || (next(Fiber.yield(false); ini.call)) # fuguai taisaku ?
r || (next(Fiber.yield(false); ini.(idx))) # fuguai taisaku ? # c
.
777c
# r = pl_es(pc, ((mx <= idx && kt.call ? 0 : idx) .. idx
r = pl_es(pc, (idx - if mx <= idx && kt.call then idx end.to_i .. idx
.
775d
770d
767,768c
# (next Fiber.yield(! ini.call))) # false # fuguai taisaku ?
(next Fiber.yield(! ini.(idx)))) # false # fuguai taisaku ? # c
.
758,761c
## a = (ti = [st_id([ti]), ti])[0] #(ti), ti])[0]
ti = st_id([a = ti]) #(a = ti)
# a[1].nil? && a[1] = ti[1]
ti[1].nil? && ti[1] = a
# a
ti
.
750,751c
# idx, ji_ngq = (ini = -> {[idx = 0, ji_ngq = false]}).call # l # fuguai taisaku ? # idx = 0 ##
idx, ji_ngq = (ini = ->(i = 0) {[idx = i, ji_ngq = false]}).call # l # fuguai taisaku ? # idx = 0 ##
.
742d
726,728c
# a = [a[1], case a = a[0] when Numeric then else getarg__(a) end].reverse # .rotate
.
715,716d
710,713c
knid(a, :Array) && # Thread.new { # TRON,BeOS,PalmOS6,Aperios,HongmengOS,1489922543/30-42#97-98 <-> Smalltalk(AlanKay,NAKAJIMA,YOKOTE,TOKORO,OTIAI,NAGAMATSU,TERAOKA,MITUZAWA,FUJINAMI(,itojun)),DeepConnect,PIMOS ?
# case a when Array then # Thread.new { # TRON,BeOS,PalmOS6,Aperios,HongmengOS,1489922543/30-42#97-98 <-> Smalltalk(AlanKay,NAKAJIMA,YOKOTE,TOKORO,OTIAI,NAGAMATSU,TERAOKA,MITUZAWA,FUJINAMI(,itojun)),DeepConnect,PIMOS ? # higokan monami-ya.mrb:60510200 mruby:70410200
.
706d
699d
681d
677,679c
## md >>= bfsz; 0 == lf ? return(false) : (md &= bf if 0 == lf >> bfsz) # ? mruby 70410200 # r
.
668a
# bfsz = (a = [case th when Array then true end.!.!, tb == th]).size
.
654,657c
[(c = pl_g(0).afl('ctr', self)).shift, pl_es(0, ['ctr', c])][0] # ctr = (cta = pl_g(0).afl('ctr', self)).shift # pl_es(0, ['ctr', cta]) # ctr
.
534c
@@m.unlock
.
532c
@@m.lock
.
482a
@@m = Mutex.new

.
450,455c
def ta(l, cop) [l[0] || :_a, l[1] || cop][0 .. l[2] || 1] end
.
438c
# [:EQ, [:r1_eq_sr01 ], [[]]]
[:EQ, [:r1EQsr01 ], [[]]]
.
431c
[:LOADT, [:r0 ], [[true , '', 0 ], []]],
# [:LOADF, [:r0 ], [[false , '', 0 ], []]], # ?
.
358,359c
send(:s__send, a[1][2 .. -1], *a[2 .. -1]) # higokan mruby 70410200
## send(:s__send, a[1].to_s[2 .. -1], *a[2 .. -1])
.
340,346c
# def s__sr0( *a) a[0][ a[1]] end
# def s__r0( *a) a[1] end
# def s__sr01( *a) a[0][ a[1] + 1] end
## def s__i__r0( *a) a[0].send(a[3])[a[1]] end
# def s__send( *a) a[0].send(a[3])[a[1]] end
# def s__r1_eq_sr01(*a) a[2] &&
# a[0][a[1] + 1] == a[0][ a[2]] end
def s__sr0( *a) a[0][ a[1]] end
def s__r0( *a) a[1] end
def s__sr01( *a) a[0][ a[1] + 1] end
# def s__i__r0( *a) a[0].send(a[3])[ a[1]] end
def s__send( *a) a[0].send(a[3])[ a[1]] end
def s__r1EQsr01(*a) a[2] &&
a[0][a[1] + 1] == a[0][ a[2]] end
.
259,261c
# def plwt(m = 1)
def plwt(m = 1, sl = nil)
sl && slp(sl)
.
235a
# (( NSL_ + (NSL_ >> 5)) >> 8) + 2 >> 2 # 16+ bit MPU
.
230,231d
157c
# (i = a[n]) && yield(i, fr) && (next a.delete_at(n)); n += 1
# a[-1 + n += 1] && yield(a[n - 1], fr) && a.delete_at(n -= 1)
(i = a[-1 + n += 1]) && yield(i, fr) && a.delete_at(n -= 1)
.
136,138c
## ?i != m ? self[m.__method__(k, ?i)] : (s0 = self[0]).index(s0.assoc(k)) # self.index(idx) # q 2 #? mruby 410200
# ?i != m ? self[m.afl(k, ?i)] : (s0 = self[0]).index(s0.assoc(k)) # self.index(idx) # q 2
## ?i != m ? self[m.afl(k, ?i)] : loop { (s0 = self[0]).index(s0.assoc(k)) && break} # self.index(idx) # fuguai taisaku # q 2
?i != m ? self[m.afl(k, ?i)] : # .__method__(k, ?i)] : #? mruby 410200 # q 2
(s0 = self[0]).index(s0.assoc(k)) # self.index(idx)
# loop {(s0 = self[0]).index(s0.assoc(k)) && break} # self.index(idx) # fuguai taisaku
.
60a

module M__Symbol
def [](n) self.to_s[n] end
def <<(s) (self.to_s << s.to_s) # .to_sym
end
end

class Object # class Symbol # .:mrblib:irep.rb ?
include M__Symbol
end

.
5c
((((((((( [ # Thread.new { [
.



--
YAMAGUTIseisei ( str_h__namae = { :sei => "山口" , :mei => "青星" } )
http://hello.to/seisei/ mailto:seiseiATx68k.net phs://81.70.5152.1104/
まーへゃぁ字ぃがよー見えーせんくなってまったでかんわ ( 老い先 )

YAMAGUTIseisei(MasinZenmetu)

unread,
Feb 21, 2024, 10:41:14 AMFeb 21
to
# -*- coding: iso-2022-jp -*-

# include MMM # conf.gem :github => 'miura1729/mruby-mmm'

((((((((( [ # Thread.new { [
:ctr, :th, :th0, :th1 , :sym, :cop, :sp, :pc,
:_ctr_s, :s, :p, :r, :c, :fml_th_bt, :fmli,

:Array, :Numeric, :Fixnum, :Symbol, # :String,
:-, :/, :*, :+, :ji_ngq,

:_a, :_b, :_sbx, :_bx, :_c,
:getarg_a, :getarg_b, :getarg_sbx, :getarg_bx,
:mk_opcode, :getarg_c,
:MOVE, :LOADL, :LOADI, :LOADSYM, :LOADSELF, :LOADT,
:ADD, :ADDI, :SUB, :SUBI, :MUL, :DIV, :EQ, # :LOADF,
:JMP, :JMPIF, :JMPNOT, :RETURN, :SEND, :ENTER, :NOP,
:sr0, :r0, :sr01, :r1_eq_sr01,
:s__send, :__pool, :__syms,

:fibt, :FRTH].clear # , :FORTH, :FOURTH, :$DEADC0DE
))))))))) # .move # ? # conf.gem :github => 'miura1729/mruby-mmm'


# GC.generational_mode = false # g # http://syucream.github.io/mrubook/gc.html
# GC.start # g

NSL_ = 6309 # OSX/PPC : 20476309 ? # nanosleep()
# NSL_ = 10065 # OSX/PPC : 20480065 ? # nanosleep()
TS = 3
NTH = 1 # = 68060
MTH = 1 # = 6809
PUTSN = 0 # = ~ 0 # = ~ 68 # = 0xbe
VMD = 0 # = 1
FL = '~~ritepl'

TB = []
THLB = :th
MH_THL = (0 .. 1).map { |n| THLB.to_s << n.to_xeh}

LV__VRB = 1
TABU1 = 8 - 1
I_V = 1; I_V_ = 1 - I_V
STR__GETARG = 'getarg' # $str__getarg


# $rmtb = false
# $rmt = [Thread.new {Pl.new.plm(1)}]


# class GC # monami-ya.mrb # http://www.monami-ya.jp/
# end
# def GC.start() end
# def GC.disable() end

module M__H
# rmth = 63
# rmth = 47
# @@rmth = 39
@@rmth = 7
@@ts = TS + (NSL_ >> 0x1a) # = (@@rmth >> 1) + 1 # = $$ + 1
end


module M__Symbol
def [](n) self.to_s[n] end
def <<(s) (self.to_s << s.to_s) # .to_sym
end
end

class Object # class Symbol # .:mrblib:irep.rb ?
include M__Symbol
end

module M__Object
# def mapr(&b)
# knid(self, :Array) ? self.map { |v| v.__method__ b} : yield(self)
# end
# def mapr(a, &b)
# a.map { |v| knid(v, :Array) ? __method__(v, b) : yield(v)}
# def mapr(&b)
# self.map { |v| knid(v, :Array) ? v.__method__(b) : yield(v)}

# def to_i_from(k, i = 0)
## self.is_a?(k) ? i + self.to_i : self # unwork ? ( thread ? ) # mrblib/
## knid(k, self) ? i + self.to_i : self # unwork ? ( thread ? ) # mrblib/
# self.class.to_s == k.to_s ? i + self.to_i : self # unwork ? ( thread ? ) # mrblib/
# end

# def kind_of?(k)
## self.class == k.class
# self.kind_of?(k) # unwork ? ( thread ? )
# end

def knid(v, k)
## return v.kind_of?(Object.const_get k) # if 0.kind_of?(Numeric) # super
# return v.kind_of?(Kernel.const_get k) # if 0.kind_of?(Numeric) # super
## return v.kind_of?(k.constantize) # if 0.kind_of?(Numeric) # RoR # super

# case k.to_s[1] # .to_sym[1] # higokan mruby 70410200
# @@ks ||= (0 .. 9).to_a.join + ?- # * '' higokan mruby 70410200 # ?0.upto # higokan mruby 70410200 # 7221410200 6ccae658 suzukaze http://mruby-master-changes.hatenablog.com/entry/2014/12/27# ? # q

case v when Kernel.const_get(k) then true end.!.!
end

def to_xeh
case self when Numeric then self.to_s(0x10).reverse else ?- end
end

# def getarg
# def getarg__
# ?_ == (s = self.to_s)[0] && self.replace("getarg" << s)
# end
end

class Object
include M__Object
end

module M__Numeric
# def to_xeh # unwork mruby 60410200 # mrblib/

# def absb(i)
## self + (((0 <=> self) + 1 >> 1 << 0x10) - 1 & self << 1)
# i + (((0 <=> i) + 1 >> 1 << 0x10) - 1 & i << 1)
## i + (((0 <=> i) + 1 >> 1 << 0x20) - 1 & i << 1)
# end

# def pid_g; $$ || self end
end

class Numeric
include M__Numeric
end

module M__Range
def +(i = 0)
i + self.first .. i + self.last - (self.exclude_end? ? 1 : 0)
end
end

class Range
include M__Range
end

module M__Array
include M__H

# def ijr(&b)
# yield self.map { |v| knid(v, :Array) ? v.__method__(b) : v}
# end

def afl(k, m = self) # unwork ( thread ? ) # mrblib/
# self[0].index(k) # higokan mruby 10410200 ( irep.rb )
?i != m ? self[m.afl(k, ?i)] : # .__method__(k, ?i)] : #? mruby 410200 # q 2
(s0 = self[0]).index(s0.assoc(k)) # self.index(idx)
# loop {(s0 = self[0]).index(s0.assoc(k)) && break} # self.index(idx) # fuguai taisaku
end

# def height # unwork ( thread ? ) # mrblib/
# self.size - 1
# end

# def delif_c(i, a = self) # # higokan ? mruby-thread:410200 monami-ya.mrb:60510200 mruby:70410200
# def delif_c(i = @@ts, a = nil, fr = 0)
def delif_c(i = @@ts, fr = 0, a = nil)
# f = (a == self) # higokan ? mruby-thread:410200 monami-ya.mrb:60510200 mruby:70410200
# i.! ? a.delete_if(&:yield) : a.each_with_index { |v, n|
# break if n >= i; v && yield(v, n) && a.delete_at(n)}

## [! a, ( # fuguai taisaku
a ||= self # a ||= f = self # a ||= (f = true; self)
n = fr + (fr = fr.abs) >> 1
((i > fr = a.size - fr) || 0 == i) && i = fr
i.times { |fr|
# (i = a[n]) && yield(i, fr) && (next a.delete_at(n)); n += 1
# a[-1 + n += 1] && yield(a[n - 1], fr) && a.delete_at(n -= 1)
(i = a[-1 + n += 1]) && yield(i, fr) && a.delete_at(n -= 1)
}
## )][0] ? self.replace(a) : # f ? self.replace(a) : # fuguai taisaku
a
end
end

class Array
include M__Array
end

# module M__Fiber
# def yield(a)
# [super, (sl = Slp.new).slp 0][0]
# end
# end
#
# class Fiber
# include M__Fiber
# end


# module M__CaAry_
# (
# @@ca = []
# ## @@ctr = -1
# @@m = Mutex.new
# @@ofs = MTH # + 1
# )
#
# def initialize(a = [], id = 0, ofs = @@ofs)
# # @ca = [] # cannot set instance variable (ArgumentError)
# # @@ca[ofs + id + @@ctr += 1] = a
# @@ca[ofs + id] = a
# end
# end
#
# class CaAry_ < Array
# include M__CaAry_
# end


module M__Mlok
@@m = nil

def initialize(m = @@m)
@m = m ||= Mutex.new
end

def mlok(&b)
@m.lock
yield
@m.unlock
end
end

class Mlok
include M__Mlok
end

MLOK = Mlok.new


module M__Slp
# @@m = Mlok.new
# @@m = MLOK

# @@slp = 7; @@slp = # [ #? mruby 410200
# (((NSL_ >> 9 - @@slp) + (NSL_ >> 7 - (@@slp - 7))) >> @@slp) + 1 >> 1
# @@slp = 2; @@slp = # [ #? mruby 410200
# (((NSL_ >> @@slp) + (NSL_ >> 5 + @@slp)) >> 9 - @@slp) + 1 >> 1
# ].lazy #? mruby 410200

# @@nsl_ = [ #? mruby 410200
@@slp = # conf.gem :github => 'matsumotory/mruby-sleep' # 'bamchoh/mruby-sleep' # msleep usleep
(((@@slp = NSL_ >> 2) + (@@slp >> 5)) >> 7) + 1 >> 1
# (((@@slp = NSL_ >> 1) + (@@slp >> 5)) >> 8) + 1 >> 1
# (( NSL_ + (NSL_ >> 5)) >> 8) + 2 >> 2 # 16+ bit MPU
# ].lazy #? mruby 410200

# @@slp = 0xbe # nanosleep()
# @@ctr = 0

# def initialize; @@slp = @@nsl_.force[0] end #? mruby 410200

def slp(t = @@slp, r = 1, &b)
# t += 1 - (t <=> 0) # 1 <=> t
(r - 1).times {usleep 0}; b && yield; r.times {usleep t} # g # conf.gem :github => 'kimushu/mruby-sleep' # msleep usleep
# (r - 1).times {msleep 0}; b && yield; r.times {msleep t} # g # usleep yobi
# (r - 1).times {sleep 0}; b && yield; r.times {sleep t} # g
# (r - 1).times {usleep 0}; r.times {usleep t}
# (r - 1).times {msleep 0}; r.times {msleep t} # usleep yobi
# (r - 1).times {sleep 0}; r.times {sleep t} # antei ?

# (r - 1).times {sleep 0}
# r.times {sleep t}
# (self.size << 4).times {sleep 0; (true == true).is_a?(Object); sleep 0}
# [true][Time.now.to_f.to_s.split(?.)[1].to_i & 15] && GC.start # q # g
# [true][(@@ctr += 1; @@ctr &= 3)] && GC.start # g
end

# def plwt(m = 1)
def plwt(m = 1, sl = nil)
sl && slp(sl)
sf = 2 # (@@ts >> 1) + 1
((m >> sf) + 1).times { |n| yield n}
end
end

class Slp
# include M__H
include M__Slp
end

SLP = Slp.new


module M__Plok # Inspired by Professor NAGAI Hidetosi http://rubykaigi.org/2011/ja/schedule/details/17S05/#KyuTech
(
# @@m = Mlok.new
@@mlok = MLOK
# @@m = Mutex.new
@@Slp = SLP
# @@Imem = IMEM
) # .move # ? # conf.gem :github => 'miura1729/mruby-mmm'

# attr_accessor :ji_ngq

def initialize(nm = nil)
@nm = nm
## @ji_ngq = true
end

def plok(*a)
## @@mlok.mlok {
## @@m.lock
# GC.disable # g
# s = nil
begin
## @@Slp.slp 0 # read syoutotu taisaku
f = File.open(@nm, ?w) # q
f.flock(File::LOCK_EX)
rescue
# f.close # ?
# (s ||= @@Slp).slp 0 # higokan ? mruby 70410200
@@Slp.slp 0
### @nm && retry
end ## if @ji_ngq
GC.disable # hituyou <-> monami-ya.mrb:60510200 osoku-naru , mruby:70410200 SeguFo(-nado?) # g
## @@m.unlock
[yield(a), GC.start, ## @ji_ngq && # g
f.close][0]
# @@m.unlock][0]
# ][0]
# a = yield(r)
## }
## @@m.unlock
end
end

class Plok
include M__Plok
end

LOC = Plok.new(FL << ?. << 'lok'.replace('loc')) # q
# LOC = Plok.new(FL << ?/ << 'lok'.sub(/lok/, 'loc') # RISC OS ? # q
# Plok.new(FL << '/' 'lok'[''] = 'loc') # RISC OS ? # higokan monami-ya.mrb:60510200 mruby:70410200


module M__Rou
# @@I_s__stack = @@I_s__irep =
# @@I_s__i = 0; @@I_s__r0 = 1; @@I_s__r1 = 2; @@I_s__mt = 3

def getarg__(s)
?_ == (s = s.to_s)[0] ? 'getarg' << s : s # q # higokan monami-ya.mrb:60510200 mruby:70410200 : STR__GETARG , $str__getarg
end

# def s__i_pool_r0( *a) a[@@I_s__i].pool[ a[@@I_s__r0]] end
# def s__i_syms_r0( *a) a[@@I_s__i].syms[ a[@@I_s__r0]] end

def s__sr0( *a) a[0][ a[1]] end
def s__r0( *a) a[1] end
def s__sr01( *a) a[0][ a[1] + 1] end
# def s__i__r0( *a) a[0].send(a[3])[ a[1]] end
def s__send( *a) a[0].send(a[3])[ a[1]] end
def s__r1EQsr01(*a) a[2] &&
a[0][a[1] + 1] == a[0][ a[2]] end

def method_missing(*a)
# '__' != a[0][0 .. 1] ? # higokan mruby 70410200
if '__' != (a[0] = a[0].to_s)[0 .. 1]
a[0] = 's__' << a[0]
case a[3] # a[@@I_s__r1 + 1]
when Array then return a.pop.map{ |v| v.nil? ? v : send(*a, v)} # r
## when Array then a.pop.map{ |v| v.nil? ? v : self.send(*a, v)}
else send(*a)
end
else
send(:s__send, a[1][2 .. -1], *a[2 .. -1]) # higokan mruby 70410200
## send(:s__send, a[1].to_s[2 .. -1], *a[2 .. -1])
end
end
end

class Rou
include RiteOpcodeUtil
include M__Rou
end

ROU = Rou.new


#module M__RiteOpcodeUtil__Getarg__
# def getarg__(s)
# ?_ == (s = s.to_s)[0] ? 'getarg' << s : s # q # higokan monami-ya.mrb:60510200 mruby:70410200 : STR__GETARG , $str__getarg
# end
#end
module M__Imem
@@Loc = LOC
# @@fml_th_bt = [['sym', true, 'th', true], ['sym', false, 'th', true]]
@@fml_th_bt = [[:sym, true, :th, true], [:sym, false, :th, true]]
@@fmli = ['st', 'th']
@@fml = [
[:MOVE, [:sr0 ], [[:_b ], []]],
[:LOADL, [:__pool ], [[:_bx ], []]],
[:LOADI, [:r0 ], [[:_sbx ], []]],
[:LOADSYM, [:__syms ], [[:_bx ], []]],
[:LOADSELF, [:sr0 ], [[:mk_opcode, 0 ], []]], # mk_opcode 0
[:LOADT, [:r0 ], [[true , '', 0 ], []]],
# [:LOADF, [:r0 ], [[false , '', 0 ], []]], # ?
[:ADD, [:sr01, :+ ], [[]]],
[:ADDI, [:r0, :+ ], [[:_c ], []]],
[:SUB, [:sr01, :- ], [[]]],
[:SUBI, [:r0, :- ], [[:_c ], []]],
[:MUL, [:sr01, :* ], [[]]],
[:DIV, [:sr01, :/ ], [[]]],
[:EQ, [:r1EQsr01 ], [[]]]
]
# ['st', nil, 'th', ['bt', ['sym', true, 'th', true], ['sym', false, 'th', true]],

attr_accessor :fml_th_bt, :fmli

def initialize
# @fml = @@fml
@fml_th_bt = @@fml_th_bt
@fmli = @@fmli
end

# def ta(l, cop) [l[0] || :getarg_a, l[1] || cop][0 .. l[2] || 1] end
def ta(l, cop) [l[0] || :_a, l[1] || cop][0 .. l[2] || 1] end

# def fml(lb, sym)
def fml(i_lb, sym)
# Rg.new
# [sym, @@fml.assoc(sym)[@@fmli.index(lb) + 1]] # fukusayou ?
# [sym, @@fml.assoc(sym)[@@fmli.index(lb) + 1] + []] # fukusayou ? kaihi : mruby 70410200
# @@fml.assoc(sym)[@@fmli.index(lb) + 1] + [] # fukusayou ? kaihi : mruby 70410200
# @@fml.assoc(sym)[i_lb + 1] + [] # fukusayou ? kaihi : mruby 70410200
[] + (@@fml.assoc(sym)[i_lb + 1] || ( # fukusayou ? kaihi : mruby 70410200
# printf("Unkown code %s \n", OPTABLE_SYM[imem.get_opcode(cop)])
# printf("Unkown code %s \n", OPTABLE_SYM[@Rou.get_opcode(cop)])
(loc = @@Loc).vrb("Unkown code #{sym} ") # .to_s
return nil
# raise
# rg = Fiber.yield(nil)
))
end
end

class Imem
include M__Imem
end

IMEM = Imem.new


# module M__PlIni # Omoi ?


# module M__ENVary # higokan ? mruby 70410200
class ENVary < Array
# include RiteOpcodeUtil
include M__H
(
# @imem = Imem.new # higokan mruby 80410200
@@Imem = IMEM
@@Slp = SLP.dup

@@idb = FL

# @@idb = 0.pid_g.to_xeh + @@idb # +
# (rand 0xff).to_xeh +
# (Time.now.to_f - 0x3fffffff.to_f << 0x10).to_s.split(?.)[0][-8..-1].to_xeh # q
# @@dlm = '\n'
# @@dlm = '__--__'

# @@thini = [false, 0]
# @@plini = [@@thini, @@thini, [], []]
@@plini = [false, 0]
@@plini = [@@plini, @@plini, [], []]
@@pl0i = nil

@@bfsz = nil

@@Loc = LOC

# @@tp = Array.new(0x8); @@tp.delete(nil)
# @@tp = Array.new(0x3f)
# @@tp = []


module M__Idx
def initialize(idb = FL.dup) @@idb = idb end
def idx(*a) a[0].to_xeh end
def lbl(a) @@idb + idx(*a) end
end

class Idx
@@idb = nil
include M__Idx
end

@@Idx = Idx.new(@@idb)

) # .move # ? # conf.gem :github => 'miura1729/mruby-mmm'

def initialize(a = nil)
# @m = Mutex.new
# @imem = Imem.new # higokan mruby 80410200
### @ca = nil

# $mh_thl ||= (0 .. 1).map { |n| ('th' << n.to_xeh).to_sym} # symbol fuguai : mattn/mruby-json

a || return # 410200plini

# plini(@@rmth) # 410200plini

a = @@plini
1.step(@@rmth + 1) { |i| self[i] = *a}
end


# include M__PlIni # 410200plini # ok ? ( osx10.4/ppc 1koa )


def []=(n, v)
# ENV[@@idb + n.to_s] = v.to_msgpack
# ENV[@@idb + n.to_s] = MsgPack.dump(v)
## ENV[@@idb + n.to_s] = JSON::generate(v)

@@Loc.plok(n, v) { |a| ENV[@@Idx.lbl(a)] =
JSON::generate(
a[1])} # || nil

# super
end

def [](n)
# MessagePack.unpack(ENV[@@idb + n.to_s])
# MsgPack.load(ENV[@@idb + n.to_s])
## JSON::parse(ENV[@@idb + n.to_s])

### a = [n]
@@Loc.plok(n) { |a| ### @ca =
(a = ENV[@@Idx.lbl(a)]) && ### @ca =
'[]' == a[0] << a[-1] && ### @ca =
JSON::parse(a)
} # || nil
# super
end

# def idx0(n = 0, t = 1)
## t > n ? n + 1 : n ## n + (t > n ? 1 : 0)
## n + [false, true].index(t > n) ## n + (((t > n) && 1) || 0)
## n + (t > n && 1 || 0) # n - ((n <=> t) >> 1)
## n + ((t <=> n) & 1)[0] ## n + (((t <=> n) + 1) & 2)[1] # higokan mruby 70410200
## n + ((((t <=> n) + 1) & 2) >> 1) ## n + ((t <=> n) + 1 >> 1)
# end

# @@Idx0 = ->(n = 0, t = 1) {n + (t > n ? 1 : 0)} # l
# def pl_g(n = 0)
# def pl_g(n, *a)
def pl_g(n)
# sleep 0; GC.start; sleep 0 # g

# self[n < 0 ? n + 1 : n][idx0(n)]
pl = self[0 > n ? ~ n : n]
# 1 > n ? pl[idx0(n)] : pl
# if 1 > n then pl = pl[idx0(n)] end
0 == n ? pl.map! { |a| a[1]} :
# case pl when Array then else pl = @@plini end # higokan ? mruby 70410200
# case pl when Array then true end || pl = @@plini # higokan ? mruby 70410200
pl || pl = [] # pl ||= [] # higokan ? monami-ya.mrb:60510200 mruby:70410200
# a.empty? ? pl : a.map { |a| pl.afl(a, self)}
end

@@Plmg = ->(pi, pv) {pi.map { |v| [v[0], pv.shift]}} # l
# def pl_s(n = 0, pl)
def pl_s(n = 0, pl = nil)
# self[n] = 0 == n ? pl_g(-1).transpose[0].zip(pl) : pl # higokan mruby 70410200
# self[n] = 0 == n ? @@Plmg.(pl_g(-1), pl) : pl # c
self[n] = 0 == n ? @@Plmg.(@@pl0i, pl) : pl # c
# self[n] = 0 == n ? pl_g(-1).map { |v| [v[0], pl.shift]} : pl
end

# def pl_eg(n = 0, k)
def pl_eg(n, k)
pl_g(n).afl(k, self)
end

def pl_es(n = 0, a)
# def pl_es(n, a, wt = false)
# @@tp.delete(nil)
# if wt
## @@tp<< ary
# @@tp.push(*ary)
# else
# aa = []
# pl[0 == n ? 1 : nil][idx(k)] = v
# n = arg.shift if arg.first.is_a?(Numeric) # unwork ( thread ? )
# arg[0].is_a?(Numeric) ? n = arg.shift : n = 0 # unwork ( thread ? )
pl = pl_g(n)
a.each_slice(2) { |k, v| # .shift(2) higokan mruby 70410200
# (@@tp + ary).each_slice(2) { |k, v| # .shift(2) higokan mruby 70410200
# 'ctr_s' == k && break(-v) # higokan ? mruby 70410200
# knid(k, :Symbol) && (aa.push(k, v); next)
# knid(k, :Symbol) && (aa.push(k, v); break)
# case k when Symbol then aa.push(k, v); break end
# knid(k, :Symbol) && (send(k, v); break)
?_ == (k = k.to_s)[0] && (send(k[1 .. -1], v); next) # q
# case k when Symbol then send(k, v); break end
# case k when Symbol then send(k, v); true end && break
k = self.afl(k, ?i) # q
#### k = loop {self.afl(k, ?i) && break} # q # fuguai taisaku
pl[k] = case v when Numeric then pl[k]<< v else v end # p
# pl[k = self.afl(k, ?i)] += [v] # q # ?
# pl[k] += [v]
# pl[k].map!{|k| k.send(case v when Numeric then 'itself' else 'pop' end)} # p
# pl[k] = pl[k][case v when Numeric then 0 .. -1 else -1 end] # p # ?
}
pl_s(n, pl) # ,
## aa.each_slice(2) { |k, v| send(k, v)}
# aa.empty? || send(*aa)
# ][0]
#@@tp.clear
#@@tp = [nil]
#@@tp = Array.new(0xf)
# end
end

def ref_pl0i; @@pl0i = pl_g(-1) end
# def to_ia(n)
def to_ia(n, lpl = self)
if 0 == n
# self[n]
lpl[n]
else
# @@Plmg.(pl_g(-1), self[n]) # c
@@Plmg.(@@pl0i, lpl[n]) # c
end

# lpl = lpl[n]
# if 0 == n
## lpl[n]
# lpl
# else
## @@Plmg.(@@pl0i, lpl[n]) # c
# @@Plmg.(@@pl0i, lpl) # c
# end

# return lpl = lpl[n]
# lpl = lpl[n]
# ensure
# 0 != n && (return @@Plmg.(@@pl0i, lpl)) # c

# [lpl = lpl[n], 0 != n && (return @@Plmg.(@@pl0i, lpl))][0] # c
end
## @@pl0i, 0 == n ? lpl[n][1] : lpl[n])
## @@pl0i, (lpl = lpl[n]; 0 == n ? lpl[1] : lpl))
# @@pl0i, (0 == n && lpl = lpl[0]; lpl[n + (n <=> 0 & 1 ^ 1)]))

def ctr_g
[(c = pl_g(0).afl('ctr', self)).shift, pl_es(0, ['ctr', c])][0] # ctr = (cta = pl_g(0).afl('ctr', self)).shift # pl_es(0, ['ctr', cta]) # ctr
end

def ctr_s(c)
pl_es(0, [:ctr, c])
c
end

def tha(th) [knid(th, :Array), (TB) == th] end

def bfsz; @@bfsz ||= tha(true).size end

def ckth(th, md)
# self[pc][idx('th')].is_a?(Array) # higokan mruby 10410200 ( irep.rb )
# sz = (a = [knid(th, :Array), (TB) == th]).size
sz = (a = tha(th)).size
# sz = (a = [case th when Array then true end.!.!, tb == th]).size
# bf = (Array.new(sz, '1').join).to_i(2) # higokan ? mruby 70410200
# bf = Array.new(sz) { |n| 1 << n}.inject # higokan ? mruby 70410200
bf = (1 << sz) - 1

# 0 : ary 1 : ! ary 2 : kara ary 3 : ! kara ary
while (0 == 1 & md) == a[(md & bf) >> 1]
# ((a[(md & bf) >> 1] ? 0 : 1) == 1 & md)
# ([true, false][1 & md] == a[(md & bf) >> 1])
## md >>= bfsz; 0 == lf ? return(false) : (md &= bf if 0 == lf >> bfsz) # ? mruby 70410200 # r
0 == (md >>= sz) >> sz && break # lf damii bit
end.!.!
end

# private
end

# module M__Pl # higokan ? mruby 70410200
class Pl < ENVary
# include M__RiteOpcodeUtil__Getarg__

# def initialize(*a) super end

def send(*a)
### GC.start # g
case a[0] when Numeric then a.inject else (ROU).send(
# *a) end
## a[0].getarg__, a[1]) end
ROU.getarg__(a[0]), a[1]) end
end

def st_id(a)
# ([] == a || ! knid(a, :Array)) && (return a) # t
# ([] == a || case a when Array then true end.!) && (return a) # t # higokan mruby:70410200 monami-ya.mrb:60510200
((TB) == a || ! knid(a, :Array)) && (return a)
a.map! { |a|
## v.kind_of?(Array) ? # unwork ( thread ? )
knid(a, :Array) && # Thread.new { # TRON,BeOS,PalmOS6,Aperios,HongmengOS,1489922543/30-42#97-98 <-> Smalltalk(AlanKay,NAKAJIMA,YOKOTE,TOKORO,OTIAI,NAGAMATSU,TERAOKA,MITUZAWA,FUJINAMI(,itojun)),DeepConnect,PIMOS ?
# case a when Array then # Thread.new { # TRON,BeOS,PalmOS6,Aperios,HongmengOS,1489922543/30-42#97-98 <-> Smalltalk(AlanKay,NAKAJIMA,YOKOTE,TOKORO,OTIAI,NAGAMATSU,TERAOKA,MITUZAWA,FUJINAMI(,itojun)),DeepConnect,PIMOS ? # higokan monami-ya.mrb:60510200 mruby:70410200
a = st_id(a)[0] # } # __method__(a) # } #? mruby 410200
# end
a
}
return [a[0], nil] if 0 >= a.hgt # r
## return a.ijr { |v| v.inject(@@imem.mcall) || v[0]} # r

# GC.start # g # fuantei ( keisan gosa ) ?
# opc, op = a

## [self.send(*a) || a[1], case a[0] when Numeric then else a end] # then nil
# [self.send(*a) || a[1], knid(a[0], :Numeric).! && a]
[self.send(*a) || a[1], a]
end

# def plw__kt(pc)
# ckth(pl_eg(pc, 'ctr')[0], 0) # sp [sp]
# end

# @@kt = ->(pc) {ckth(pl_eg(pc, 'ctr')[0], 0)} # l # sp [sp] # higokan ? mruby 70410200
def plw(pc) ##
# i_th = self.afl('th', ?i) # # higokan mruby 10410200 ( irep.rb ) # q
tb = TB.dup
sl = @@Slp
imem = @@Imem
thl = MH_THL

# th = Array.new(thl.size) { |v| 0 == v ? pl_eg(pc, thl[v]) : tb} # unwork ( thread ) # mruby-thread e139cfe 1211410200 sdottaka
th, mx = nil

idx, ji_ngq = (ini = ->(i = 0) {[idx = i, ji_ngq = false]}).call # l # fuguai taisaku ? # idx = 0 ##
fb0 = ->(m) {0 < m && Fiber.yield(false); th = [tb] * (1 + mx = thl.hgt)}

kt = -> {ji_ngq ||= ckth(pl_eg(pc, 'ctr')[0], 0)} # l # sp [sp]
# kt = @@kt

s_id = ->(ti) { # l
ti = st_id([a = ti]) #(a = ti)
ti[1].nil? && ti[1] = a
ti
}

Fiber.new { |m = 1| fb0.(m) # c
loop {
(th[idx].! || ckth(th[idx], 2)) && ((th[idx] = pl_eg(pc, thl[idx])) || # fuguai taisaku ?
(next Fiber.yield(! ini.(idx)))) # false # fuguai taisaku ? # c

0 < idx && ckth(th[idx], 2) && kt.call ? idx -= 1 : # ji_ngq ||= plw__kt(pc)
(th[idx], v = s_id.(th[idx])) # if mx >= idx # && ckth(th[idx], 3) # c

if ckth(th[idx], 1)
# r = pl_es(pc, ((kt.call && mx <= idx ? 0 : idx) .. idx # kt : ato
r = pl_es(pc, (idx - if mx <= idx && kt.call then idx end.to_i .. idx
).flat_map { |n| [thl[n], [th[n]] + [[v], v = []][0]]}) # .slice! higokan monami-ya.mrb:60510200 mruby:70410200

r || (next(Fiber.yield(false); ini.(idx))) # fuguai taisaku ? # c

idx -= (idx <=> mx) >> 1 # += (mx <=> idx) + 1 >> 1
end

m = sl.plwt(m, 0) { |n| Fiber.yield([ji_ngq][n])}
} ##
}
## self.lf_d
end

##@@plw = nil
def plm(pc = 1)
# until $rmtb do true; true end

ts = @@ts # + 1
(sl = @@Slp).slp
fpl = []
loop {
pc = ctr_g
pc && 0 <= pc && fpl<< plw(pc) # p
## pc && 0 <= pc && fpl<< (@@plw ||= plw); GC.disable # p # g
# pc, cto = self.ctr_g if flg
# if pc != cto or ! flg
# if pc >= 0 || ! flg
# cto += 1
# fpl<< self.plw(pc) if flg[0] # p

# an[cto] = Thread.new(envid) { |envid|
# (ith, th) = self.pl(pc, ith, th) ###
# (flg = [true][ith]) || redo ###
# fpl.delete_if(&:resume)
## fpl.delete_if(&:resume(pc))
# fpl = delif_c(ts, fpl) { |fb, n| fb.resume(n)}
fpl = delif_c(ts, 0, fpl) { |fb, n| fb.resume(n)}
## fpl = delif_c(1, 0, fpl) { |fb, n| fb.resume(pc)} # ?
sl.slp
### GC.start # g # antei ?
}
end
end

# class Pl < ENVary
# include M__Pl
# end


# module M__AryM # higokan ? mruby 70410200
class AryM < Array
# @@f = 0x0.chr * (0x20 << 2)
# @@bm = 0xff.chr

# def initialize
## @f = '' # cannot set instance variable (ArgumentError)
# end

# def [](*a) # ok : monami-ya.mrb:60510200
## sleep 0
## @@Slp.slp 0
## a.to_s
# super
# end

# def []=(*a)
## sleep 0
## @@Slp.slp 0
## a.to_s
# super
# end
end

# class AryM < Array
# include M__AryM
# end

module M__Stack
@@s = AryM.new
@@ow = []
# @@m = Mutex.new
# attr_accessor :p, :r
attr_accessor :c, :p, :r, :s

def initialize(sp = 0, s = @@s)
# def initialize(sp = 0, s = @@s, m = @@m)
# id = self.object_id
@p = sp; @s = s; @ir, @i_i, @c, @r = nil
# @p = sp; @m = m; @s = s
# @@m.lock
# s = @s
# @@m.unlock
s
# @s
end

def [](*a)
# @@m.lock
# s = @s
# @@m.unlock
# s[@p.ipt a[0]]
@s[a[0] + @p]
end

def []=(sp, va, pc = nil)
#p [sp, va, pc, self.object_id]
# @@m.lock
pp = sp + @p
# @@ow[@@ow.owasoc(i)] # <<
# @@m.lock
# @i_i = @@ow.owasoc(i)
# @@m.lock

# knid(pc, :Fixnum) && (@ow[pc] && (@ow[pc].include?(pp) || (@ow.push(pp); @ow.sort!)) || @ow[pc] = [pp])
# a = @s[@p.ipt a[0]] = a[1]
# a = @s[@p + a[0].sgp] = a[1]
@s[pp] = va
# @@m.unlock
# a
end

def size; @s.length - @p end

def irep(i)
owasoc(i) || (
@@ow<< [i, []] # p
0xf < @@ow.size && @@ow.shift
@ir = i
)
end

def idel(i)
@@ow.delete(owasoc(i))
end

def owasoc(i) @@ow.assoc(i) end

def owc(i = @ir) i = owasoc(i) && @@ow.delete_at(@@ow.index(i)) end

# def rs(r = nil)
# @r = r
# end

# def cs(c = nil)
# @c = c
# end

def method_missing(*a)
@s[@r.send(a[0], @c) + @p]
end
end

class Stack
include M__Stack
end

module M__Rg
attr_accessor :p

def initialize(*a)
# @i = 1
@s = a
@p = 0
end

def push(*a)
@s.assoc(a.shift)[1]<< a[0] # p
end

def pop(*a)
@s.assoc(a.shift)[1].pop
end

def shift(*a)
@s.assoc(a.shift)[1].shift
end

def delete_at(*a)
@s.assoc(a.shift)[0].delete_at a[0]
end

def to_ra(*a)
a.map { |v| self[v]}
end

def to_a
@s.map { |v| [v[0], v[1][0 .. -1]].dup}
end

def [](k, i = nil, m = nil)
i ||= @p
@s.assoc(k)[1][i]
end

def []=(k, i = nil, v)
i ||= @p
@s.assoc(k)[1][i] = v
end

def flgflp; @p = ~ @p end
# def flg_e; @p = ~ @p end
# def flg_d; @p = ~ @p end
def flge?; 0 <= @p end
def flgd?; 0 > @p end

# prepend M__Ist
end

class Rg # higokan ? mruby-thread:410200
include M__Rg
end

module M__Vrb
@@s = nil

attr_accessor :s

def initialize(a = @@s)
# @s = a ||= AryM.new(2, []) # ?
@s = a ||= AryM.new(2){[]}
@ap = nil # fuguai taisaku
end

# def vrb(fls2 = false, fr = 0)
def vrb(fls2 = false, fr = 0, ptn = PUTSN, i_v = I_V, i_v_ = I_V_)
# until @s.empty?
until @s[i_v].empty? || @s[i_v].uniq! # fuguai taisaku
s = ''
### puts(
@s[i_v].delif_c( ### ~ # puts
ptn, fr){ |a| # fuguai taisaku ? ( osx/ppc, freebsd8/i386 )
case a
when Array
# a.size.times{a.push(*a.shift)}; ak, apc, a2, a3, a4 = a

# if 2 == a[0] && (siv = (siv = @s[i_v_]).index(siv.assoc(a[1]))) # ?
if 2 == a[0] # fuguai taisaku ?
sz = a.size
(siv = (siv = @s[i_v_]).index(siv.assoc(a[1]))) ? (
a += (a = @s[i_v_].delete_at(siv)[1 .. -1]
a[0] = (rou ||= ROU).getarg__(a[0]) # .chomp # fuguai taisaku ( freebsd8/i386 )
a)
a && @ap = a # fuguai taisaku
) : (a = @ap || next) # fuguai taisaku # r

sz >= a.size && ( @s[i_v_].clear # fuguai taisaku # .shift
a.push(*@ap[sz .. -1])) # fuguai taisaku
a[2] = (a = a.dup)[2].chomp # fuguai taisaku ( osx/ppc, freebsd8/i386 ) # .to_s : nil taisaku
end

# sa ||= [[' ', ' '], [' ', ' ']][a[0] <=> 2]
sa ||= [' ', ' ', ' '][a[0] & 1, 2]

# 2 == a[0] && a[2] = getarg__(a[2]) # .chomp # fuguai taisaku ( freebsd8/i386 )
s << a[1].to_xeh << " " * a[0] <<
## "#{a[2]} #{a[3].to_xeh}"
"#{a[2] << sa[(0 <=> a[2].size - TABU1) >> 1]}#{a[3].to_xeh}"
a[4] && s << " #{a[4].to_xeh}"
else
s << a
end

# }.chop # fuguai taisaku ( osx/ppc, freebsd8/i386 )
}
### )
1 < s.size && # puts(s.chop) # .chop # fuguai taisaku (osx/ppc, freebsd8/i386)
s.each_line { |s| puts s} # fuguai taisaku ? (osx/ppc, freebsd8/i386)
break unless (fls2 && (@s[i_v].clear; fls2)) || 0 > fr # fuguai taisaku
end
# @@Slp.slp 0
end
end

class Vrb
# include M__RiteOpcodeUtil__Getarg__
include M__Vrb
end

# module M__Wkth
def wkth(pc = 1)
# Thread.new($pcmax) { |pcmax|
# Thread.new(@pl, pc) { |pl, pc| # @Imem,
# pl.plm(pc)
Thread.new(pc) { |pc|
Pl.new.plm(pc)
}
end
# end

# include M__Wkth # higokan ? monami-ya.mrb:60510200 mruby:70410200 # omoi ?

class FibVM
@@Rmt = [wkth]

# include RiteOpcodeUtil
include M__H
(
OPTABLE_CODE = Irep::OPTABLE_CODE
OPTABLE_SYM = Irep::OPTABLE_SYM

@@Loc = LOC
@@Imem = IMEM
@@Slp = SLP
@@Rou = ROU
@@nth = NTH
)

def initialize
### GC.start # g # antei ?

# @pla = Array.new($pcmax)
# $pltini.call()
# @pl = ENVary.new(true) # 410200plini
plini(@@rmth, @pl = ENVary.new(true)) # 310200plini ?

@rmt = @@Rmt + Array.new(@@nth - 1) {wkth}


@Imem = @@Imem
@Rou = @@Rou
@Slp = @@Slp

# For Interpriter
# @stack = [] # スタック(@spより上位をレジスタとして扱う)
@stack = Stack.new # スタック(@spより上位をレジスタとして扱う)
# @callinfo = [] # メソッド呼び出しで呼び出し元の情報を格納
@callinfo = Stack.new(0, []) # メソッド呼び出しで呼び出し元の情報を格納
@pc = 0 # 実行する命令の位置
@sp = 0 # スタックポインタ
# @cp = 0 # callinfoのポインタ
@irep = nil # 現在実行中の命令列オブジェクト
@irepid =nil # 命令列オブジェクトのid(JIT用)


### GC.disable # g # gene gc enable : mruby 6170410200 d17506c1

# 5ff9c1d2 : ( irep.rb )
# Assertion failed: ((obj)->tt != MRB_TT_FREE), function mrb_gc_mark, file src/gc.c, line 577.

# ysei/mruby-thread/tree/normal/ 4c02f126
# / mruby-thread/crimsonwoods/tree/experimental-thread-support/
# / mruby/mruby/ 32818bd2 : ( irep.rb )
# Assertion failed: (((mrb)->is_generational_gc_mode) || mrb->gc_state != GC_STATE_NONE),
# function mrb_write_barrier, file src/gc.c, line 1103.

@@Vrb = Vrb.new
end


# include M__PlIni # 310200plini ? # ok ? ( osx10.4/ppc 1koa ) # omoi ? ( osx10.4/ppc 2koa )

# module M__PlIni # osx/ppc http://master.dl.sourceforge.net/project/hpc/OldFiles/gcc-bin.tar.gz#4p3__3.400 #gcc-tiger-bin.tar.gz#4p1__1.400 # cctools-590.36.dmg # Rake : Ruby1.9+/OSX10.4/PPC ?
def plini(rmth = nil, pl = self)
thini = false
thl = MH_THL
# pl0i = [thl[0], thl[1], 'sym', 'ctr']
pl0i = [thl[0], thl[1], :sym, :ctr] # , :hoka]

# 3080410200 : gene gc off : mruby 6170410200 d17506c1
# 3080410200 : 5x2 ng ( segmentation fault ) : mruby 3080410200 0878900f
# 3080410200 : 5x2 ok ( gc ) : monami-ya.mrb 8270410200 813e2af8 # http://www.monami-ya.jp/
# mruby 20410200 : higokan ? : ary_many
# mruby 70410200 : 4x2 ok , 5x2 ng

pl[0] = [[pl0i[0], [thini]], [pl0i[1], [thini]],
[pl0i[2], [0]], [pl0i[3], []]] # , [pl0i[4], []]] # @pla = [['sp', 'ctr']]

# if 1 < self.size # self.size : 0 ?? # higokan ? mruby:70410200 monami-ya.mrb:60510200
# self.replace(0 ... self.size & ((n = rmth + 1) << 1) | n]) # ?? # higokan ? mruby:70410200 monami-ya.mrb:60510200
# self.slice!((self.size & ((n = rmth + 1) << 1) | n) + 1 .. -1) # higokan mruby:70410200 monami-ya.mrb:60510200

pl[1] && pl[0 .. -1] =
pl[0 .. pl.hgt & ((thini = rmth + 1) << 1) | thini]

pl.ref_pl0i
end
# end


# include M__Wkth # higokan ? monami-ya.mrb:60510200 mruby:70410200


class Fls__l
@@fls_m = nil
@@fls_mc = ->(sz) {
@@fls_m = 1 << sz
[((@@fls_m += (@@fls_m <<= 1) + (@@fls_m <<= 2) + (@@fls_m << 2)) >> sz
sz = 1 << @@fls_m = sz
# [((sz += (sz <<= 1) + (sz <<= 2) + (sz << 2)) >> @@fls_m
) + 1 >> 1,
@@fls_mc = nil][0]
}
@@mh_thl = MH_THL # .dup # dup omoi ?
@@i_sp, @@i_sym = nil; @@i_thl = []

def initialize(s, irep, imem, rou, lpl, pc, vrb)
# def initialize(s, irep, imem, rou, lpl, pc, vrb, ap)

@@Vrb = vrb
(
# i_sp = lpl.afl(@pla.assoc('sp')[1], ?i) ## # q
@s = s; @imem = imem; @rou = rou, @lpl = lpl; @pc = pc

@pr, @sym, @mt = nil; @r = []
@sy = nil

@v_ = []

# ap = @f = false; @ji_ngq = [ap, ap]
@f =
ap = false; @ji_ngq = [ap, ap]

# ap = @@fls_m ||= (ap = 1 << @@fls_m = 3; # @@fls_mc.(3) # c
# ((ap += (ap <<= 1) + (ap <<= 2) + (ap << 2)) >> @@fls_m) + 1 >> 1)
ap = @@fls_m ||= @@fls_mc.(3) # c

@pl = []; plr = []
# lm = ->(r1) {r1 && rou.send(@pr, @mt ? irep : s, @r[0], r1, @mt)} # l
lm = ->(r1) { rou.send(@pr, @mt ? irep : s, @r[0], r1, @mt)} # l
mkt = ->(v) {v.nil?} # v[0].nil?} # l
@ca = [
# ->(r, sz = plr.size) { # f
->(sz = plr.size, r = @r) { r = r[1] # f
# ->(r) { r = r[1] # f
# sz = plr.size
# sz = ([r < sz, sz = plr[r]][0] && ! sz.nil?) ? sz : lm.(r) # ) ? _ : lm.(r) # c
sz = plr.fetch(r) { |v| (r >= sz || mkt.(v)) ? lm.(r) : v} # c 2
plr.clear # .slice! .pop(n) .shift(n) higokan monami-ya.mrb:60510200 mruby:70410200
# s[r[1]] = @sy ? [s[r[1]], _].inject(@sy) : _
s[r] = @sy ? [s[r], sz].inject(@sy) : sz
# 0 == m && wo.include?(r) || wo.push(r).sort!
}, # rs = [r1, r0]
->(sz = plr.size, r = @r) { # ji_ngq[0]
## ((sw = sp + sz) + 0xe).step(sw, -1) { # higokan mruby 70410200 # bbab89e7 5211410200 tmtm http://mruby-master-changes.hatenablog.com/entry/2014/11/26/203350
# sz.step(sz + ap = (ap += ap >> 1) >> 1) { |n| @plr<< lm.(s[n])} # p # c
0 == s.size ? Slp.new.slp(0) : ## @Slp.slp(0) :
# @plr += lm.(s[sz, ap = (ap += ap >> 1) >> 1]) # c
# 0 == (as = s.s).size ? Slp.new.slp(0) : ## @Slp.slp(0) :
# sz = plr.size
# as = s[sz, ap = (ap += ap >> 1) >> 1]
# as && @plr += lm.(as) # c
# as = s[sz, (sz = as.size - sz; sz > (ap = (ap += ap >> 1) >> 1) && sz = ap; sz)]
# as && plr += lm.(as) # c
sz = s[sz, (ap = (ap += ap >> 1) >> 1)] && plr += lm.(sz) # + (ap <=> 0)]) # c
# plr<< s.ow?(n) ? nil : lm.(s[n]) # p # c
} # @rs[1] = r[0]
] # .lazy #? mruby 410200

# plb = Plb
# i_th = lpl.afl('th', ?i) # q
# @i_sp = plb.assoc('sp')[1]
# @i_sp = lpl.afl('ctr', ?i) # q
@i_lb = imem.fmli.index('st') # + 1
) # .move # ? # conf.gem :github => 'miura1729/mruby-mmm'
end

def ca # (pc)
if (ji_ngq = @ji_ngq)[0]
@pr || (pr, @sy = @imem.fml(@i_lb, @sym)
?_ != (@pr = pr)[1] || @mt = pr) # q

# (@ca).force[ #? mruby 410200
# @ca.force[ #? mruby 410200
@ca[
ji_ngq[1] ? 0 : 1].call
### (1 <=> @plr.size) | (ji_ngq[1] ? 0 : 1)].(@plr.size, @r) # c
end

@f
end

def rslt # (pc)
@f && (return true) # r

pc = @pc
lpl = @lpl
pl = @pl
v_ = @v_.dup # .sort # fukusayou kaihi ?

@sym ||= pl[lpl.afl('sym', ?i)].to_sym # q

sp = pl[@@i_sp ||= lpl.afl('ctr', ?i)][0] # q
thl = @@mh_thl
ji_ngq = [v = ! r = []] # , false]

ve = ->{
# case v when Array then ! v.empty? end &&
# @@Vrb.s<< [2, pc, # *v] # p
# *v.map{|v| case v when String then v.chomp else v end}] # fuguai taisaku

# lpl.ckth(v, (3 << (lpl.bfsz << 1)) | 3) && @@Vrb.s<< [2, pc, # *v]) # fuguai taisaku # p
1 == VMD && (0 >= v_.hgt || ! v_.include?(v)) && (v_<< v
lpl.ckth(v, @@bf30 ||= (3 << (lpl.bfsz << 1)) | 3) && # gosadou ? : ckth ( nise-true / osx/ppc )
@@vrb.s[I_V]<< [2, pc, *v] #) # p
# *v.map{|v| knid(v, :String) ? @rou.getarg__(v) : v}] # otiru # fuguai taisaku
## [2, pc, *v.map{|v| knid(v, :String) ? @rou.getarg__(v) : v}] # fuguai taisaku
## "#{(pc).to_xeh} #{getarg__(v[0])} #{v[1].to_xeh}")}
)
}

# r = Array.new(thl.size) { |n| pl[lpl.afl(thl[n], ?i)]} # q
# r = r.map { |v| v[1] = v[-1]} # higokan ? mruby 70410200

(0 ... thl.size).each { |n|
r[n] = (pl[@@i_thl[n] ||= lpl.afl(thl[n], ?i)] || @r[n]) # q # fuguai taisaku
v ||= r[n][1] || [] # @r[n] # true # fuguai taisaku
knid(r[n][0], :Numeric) && r[n] = r[n][0]
}
r[1] = r[0] if case sp when Array then ji_ngq[1] = lpl.ckth(r[1], 2) end

ve.call

# sym, (r0, r1) = rslt pl # higokan mruby 70410200 # bce75e27 2211410200 matz http://mruby-master-changes.hatenablog.com/entry/2014/11/24/114903

@s.p = [sp].flatten[0] if (ji_ngq = (@r = r).map.with_index { |r, n|
# ji_ngq[n] || r && lpl.ckth(r, 1)})[0]
(ji_ngq[n] || r && lpl.ckth(r, 1)) &&
0 == VMD && (v_[n] || (@@Vrb.s[I_V]<< [2, pc]); true)})[0]

verb

# @f ||= (@ji_ngq = ji_ngq).all? || return # r
@f ||= (r = (@ji_ngq = ji_ngq).all?) && (v_.clear; @v_ = v_; r) || return # r
end

def plg # (pc)
@f || ! ((@pl = @lpl.pl_g(@pc + 1)).empty? && @r.empty?) # fuguai taisaku
end

def verb # (pc)
return if @ji_ngq[n = -1] == n # r

## @@Vrb.vrb "#{@pc.to_xeh} #{@sym} #{r[0].to_xeh} #{r[1].to_xeh}"
# @@Vrb.s<< [3, @pc, @sym, *@r] # p
@@Vrb.s[I_V]<< [3, @pc, @sym, *@r] # p

@f && @ji_ngq<< n # p
end
end

def fls(pc) ##
## pl[i_th] = lpl.pl_eg(pc, 'th') ### fls

(
# loc = @@Loc
imem = @Imem

s = Stack.new
s.irep(i = @irepid)

# c_l = Fls__l.new(s, i, imem, @Rou, @pl, loc, sl)
c_l = Fls__l.new(s, i, imem, @Rou, @pl, pc, @@Vrb)
) # .move # ? # conf.gem :github => 'miura1729/mruby-mmm'

Fiber.new { |m = 1, sl_ = @Slp| loop {sl_.plwt(m) {
m = Fiber.yield(c_l.plg && c_l.rslt && 0 == m && c_l.ca)
}}} ##
end

# include M__RiteOpcodeUtil__Getarg__

# def iset(rg) ##
def iset ##
(
# pc, sp, cop, sym = [rg[:pc], rg[:sp], rg[:cop], rg[:sym]]
# pc, sp, cop, sym = rg.to_ra(:pc, :sp, :cop, :sym)
pc, sp, cop, sym = nil

# pc1 = 1 + pcabs = pc.abs # cp

tb = (TB)
imem = @Imem
pl = @pl
# str__getarg = STR__GETARG
# i_lf = @idx['lf']
i_lb = imem.fmli.index('th') # + 1
loc = @@Loc
sl = @Slp

pc1, pcabs, fml = nil
) # .move # ? # conf.gem :github => 'miura1729/mruby-mmm'

ini = ->(rg = nil) { # l
# ini = ->(pc, sp, cop, sym) { # l
pc, sp, cop, sym = rg
# fml = imem.fml(i_lb, sym) || (
fml = ([sym]<< imem.fml(i_lb, sym)) || ( # p
# printf("Unkown code %s \n", OPTABLE_SYM[imem.get_opcode(cop)])
# printf("Unkown code %s \n", OPTABLE_SYM[@Rou.get_opcode(cop)])
# loc.vrb("Unkown code #{sym} ") # .to_s
return nil
# raise
# rg = Fiber.yield(nil)
)
# fml = [sym]<< fml # p
pc1 = (pcabs = pc.abs) + 1 # cp
}
bt = imem.fml_th_bt

thl = MH_THL
ht = 1
fv = []
vmd = nil
vrb = ->(vrb) { # l # LV__VRB
# @@Vrb.s<< [2, pc, getarg__(vrb[0]), vrb[1]] # p
@@Vrb.s[I_V_]<< [pc, *vrb] if 0 == vmd ||= VMD # p
vrb
}
fvl = [->(oi) {[:ctr, [sp]] + [[:_ctr_s, pc1], []][oi <=> 0]}, # l
# [->(oi) {[thl[oi], imem.ta(fv[oi], cop), thl[oi + 1], tb]}, # l
[->(oi) {[thl[oi], vrb.(imem.ta(fv[oi], cop)), thl[oi + 1], tb]}, # l
->(oi) {((oi <= ht = fv.hgt) && fv[oi] = imem.ta(fv[oi], cop)) ? # l
## [thl[oi], fv[oi]] : []}].lazy] #? mruby 410200
# (vrb.(fv[oi]); [thl[oi], fv[oi]]) : []}]].lazy #? mruby 410200
(vrb.(fv[oi]); [thl[oi], fv[oi]]) : []}]]

opg = ->(oi, lopa = [], i = -1) { # l
# bt[oi].each_slice(2).with_index { |k, i| k, v = k # higokan mruby:70410200 monami-ya.mrb:60510200
bt[oi].each_slice(2) { |k, v| fv = fml[i += 1]
if v # && knid(fv, :Array)
case k
## when 'th' then fv = fvl.(oi) # c
# when 'th' then fv = fvl[1].force[oi <=> 0].(oi) # c #? mruby 410200
# when 'th' then fv = fvl.force[1][oi <=> 0].(oi) # c #? mruby 410200
# when :th then fv = fvl.force[1][oi <=> 0].(oi) # c #? mruby 410200
when :th then fv = fvl[1][oi <=> 0].(oi) # c
else lopa<< k # p
end
lopa.push(*fv)
end
}
# lopa + fvl.force[0].(oi) # c #? mruby 410200
lopa + fvl[0].(oi) # c
}

thi = 0 ##
# Fiber.new { |rg, thi = 0| ## # higokan monami-ya.mrb:60510200 mruby:70410200
Fiber.new { |rg|
# Fiber.new { |rg, m = 0|
loop { ##
# 0.upto(NaN) { |thi| # higokan ? mruby 70410200
# [1].cycle.with_index { |t, thi|
rg && ini.(rg) # c
pl.pl_es(pc1, opg.(thi)) # c
thi += 0 != thi && ht <= thi ? -thi : 1

sl.slp 0
rg = Fiber.yield(0 <= pc ? [true][thi] : ([pcabs][thi] || pc)) # cp
# sp = [sp].flatten
sp = [*sp]
} ##
# pl1[i_lf] += 1
} ##
end

@@jsc = Proc.new { |stack, callinfo, irep, rg, imem|
rou = @@Rou
cop, sym = rg.to_ra(:cop, :sym)

case sym

# メソッドの先頭で引数のセットアップする命令。面倒なので詳細は省略
when :ENTER

# SEND Ra, mid, anumでRaをレシーバにしてシンボルmidの名前のメソッドを
# 呼び出す。ただし、引数はanum個あり、R(a+1), R(a+2)... R(a+anum)が引数
when :SEND
# a = getarg_a(cop)
a = rou.getarg_a(cop)
# mid = @irep.syms[getarg_b(cop)]
mid = irep.syms[rou.getarg_b(cop)]
# n = getarg_c(cop)
n = rou.getarg_c(cop)
# newirep = Irep::get_irep(@stack[@sp + a], mid)
# newirep = Irep::get_irep(@stack[rg[:sp] + a], mid)
newirep = Irep::get_irep(stack[a], mid)
if newirep then
# @callinfo[@cp] = @sp
# callinfo[0] = rg[:sp]
# @cp += 1
# callinfo.p += 1
# @callinfo[@cp] = @pc
# callinfo[0] = rg[:pc]
# @cp += 1
# callinfo.p += 1
# @callinfo[@cp] = @irep
# callinfo[0] = irep
# @cp += 1
# callinfo.p += 1
callinfo.p += (callinfo[0 .. 2] = rg.to_ra(:sp, :pc) << irep).size

# @sp += a
# rg[:sp] += a
rg[:sp, -1] = rg[:sp] + a

# @pc = 0
rg[:pc, -1] = 0
# @irep = newirep
irep = newirep
# @irepid = @irep.id
@irepid = irep.id

# next
else
args = []
n.times do |i|
# args.push @stack[@sp + a + i + 1]
args<< stack[a + i + 1] # p
# args<< stack.getarg_a(i + 1) # p
end

# @stack[@sp + a] = @stack[@sp + a].send(mid, *args)
# @stack[rg[:sp] + a] = @stack[rg[:sp] + a].send(mid, *args)
stack[a] = stack[a].send(mid, *args)
end

# else
# printf("Unkown code %s \n", OPTABLE_SYM[get_opcode(cop)])
# printf("Unkown code %s \n", OPTABLE_SYM[imem.get_opcode(cop)])
end

[callinfo, irep, rg]
}

@@opf = ->(irep, pc) { # l

# 命令コードの取り出し
# cop = @irep.iseq[@pc]
cop = irep.iseq[pc]

# case OPTABLE_SYM[get_opcode(cop)]
# sym = OPTABLE_SYM[get_opcode(cop)]
sym = OPTABLE_SYM[(rou = @@Rou).get_opcode(cop)]
[cop, sym]
}

@@fb = nil
def isfl(rg)
# rg.to_s # fuguai taisaku mruby 70410200
# pc = rg[:pc]
# rgd = rg.dup
# rgd = rg.to_ra(:pc, :sp, :cop, :sym)
rgd = rg
pc = rgd[0]

@@fb ||= iset
fb = @@fb
fl = fls(pc.abs) # if 0 <= pc # cp
Fiber.new { |m = 1, ri = false, rf = false, sl_ = @@Slp|
loop { sl_.slp 0
ri ||= [true == fb.resume(rgd), rgd = nil][0] # .slice! higokan mruby 70410200
(fl.resume(m) && rf = true) if 0 <= m = Fiber.yield(ri && rf) # || 0 <= pc
}
}
end

def eval(irep)
loc = @@Loc
sl = @Slp
ts = @@ts
lpl = @pl
imem = @Imem
stack = @stack
stack.r = rou = @Rou
callinfo = @callinfo

@irep = irep
# @irepid = @irep.id
@irepid = irep.id

ise = [[], []]
pctj = []
pc = @pc
sym = nil

# i_iD = 0; i_iS = 1; i_pc = 0; i_rg = 1; i_fb = 1
i_iD = 0; i_iS = ise.hgt; i_pc = 0; i_rg = 1; i_fb = 1

rg = Rg.new([:pc, [pc]], [:sp, [@sp]], [:cop, []], [:sym, []])

ifj = -> {?J == sym[0]} # l # q
ifs = -> {[:ENTER, :SEND, :RETURN, :NOP].include?(sym)} # l

jm = ->(cop, sym) { # l

# JMP nでpcをnだけ増やす。ただし、nは符号付き
# when :JMP
### @pc = @pc + getarg_sbx(cop)
### pc = pc + lpl.getarg_sbx(cop) - 1

# when :JMPIF
### if @stack[@sp + getarg_a(cop)] then
### @pc = @pc + getarg_sbx(cop)
# stack.getarg_a

# JMPNOT Ra, nでもしRaがnilかfalseならpcをnだけ増やす。ただし、nは符号付き
# when :JMPNOT
### if !@stack[@sp + getarg_a(cop)] then
# ! stack.getarg_a

# end && rg[:pc, -1] = rg[:pc] + rou.getarg_sbx(cop)

c = [:JMP, :JMPIF, :JMPNOT].index(sym) - 1
(0 > c || [true, false].index(stack.getarg_a) == c) &&
rg[:pc, -1] = rg[:pc] + rou.getarg_sbx(cop) # cp
}

jsc = Proc.new {
cop, sym = rg.to_ra(:cop, :sym)

case sym

# RETURN Raで呼び出し元のメソッドに戻る。Raが戻り値になる
when :RETURN
@@Vrb.vrb(true) # fuguai taisaku

# stack.idel(irep)
stack.idel(@irepid)

# if @cp == 0 then
if 0 == callinfo.p
# @rmt.join # higokan ? mruby-thread:410200
# @rmt.each { |rmt| rmt.join} # .alive?

# return @stack[@sp + getarg_a(cop)]
# return stack[rou.getarg_a(cop)]
return stack.getarg_a
else
# @stack[@sp] = @stack[@sp + getarg_a(cop)]
# stack[0] = stack[rou.getarg_a(cop)]
stack[0] = stack.getarg_a
# @cp -= 1
callinfo.p -= 1
# @irep = @callinfo[@cp]
# irep = @callinfo[@cp]
irep = callinfo[0]
# @irepid = @irep.id
@irepid = irep.id
# @cp -= 1
callinfo.p -= 1
# @pc = @callinfo[@cp]
# pc = @callinfo[@cp] - 1
# rg[:pc, -1] = @callinfo[@cp]
rg[:pc, -1] = callinfo[0] + 1
# @cp -= 1
callinfo.p -= 1
# @sp = @callinfo[@cp]
# sp = @callinfo[@cp]
# rg[:sp] = @callinfo[@cp]
# rg[:sp, -1] = @callinfo[@cp]
rg[:sp, -1] = callinfo[0]
end

# 何もしない
when :NOP
sl.slp 0
### GC.disable # g

else
if ifj.call
jm.(cop, sym) # c
else
callinfo, irep, rg = @@jsc.(stack, callinfo, irep, rg, imem) # c
# printf("Unkown code %s \n", OPTABLE_SYM[get_opcode(cop)])
# printf("Unkown code %s \n", OPTABLE_SYM[imem.get_opcode(cop)])
end
end

# [callinfo, irep, rg]
}

pco = []
pcoj = -> { # l
if rg.flgd?
rg.pop :sym
rg.pop :cop; stack.c = rg[:cop]
sl.slp 0
# true
end # || false
}

# @@opg = ->(irep, rg, imem) { # l
opg = ->(pcl) { # l
## c, sym = @@opf.(irep, pcl) # c
rg.push(:cop, stack.c = (sym = @@opf.(irep, pcl))[0]) # c
rg.push(:sym, sym = sym[1])
# rg
}

istm = -> { # l
! if pfl = ise[i_iD].pop
if 0 > pcf = pfl[i_pc]
if ~ pcf == rg[:pc] # cp
pcf = ! pfl[i_pc] = ~ pcf # cp
else
pfl = nil
end
end
pfl && ise[i_iD]<< pfl # p
! pcf
end
}
ist = ->(pcl, po = 0) { # l
ise[i_iS]<< [rg.flgd? ? ~ pcl : pcl, rg.to_ra(:pc, :sp, :cop, :sym)] # p # cp
}

stu = -> { # l
ifj.call || (! sym = ! ifs.call) || # sym hakai # sym = (nifs && nifj) # bagu no moto
pctj.pop != pc && istm.call && ! ist.(pc) # false # c
}

while true
# loop { # higokan ? monami-ya.mrb:60510200 mruby:70410200
# begin
@@Vrb.vrb

# if pco.slice!(0 .. -1) || 0 <= rg['ctr', 1] # higokan monami-ya.mrb:60510200 mruby:70410200
if pco.pop || rg.flge?

opg.(pc) # c
# @@opg.(irep, rg, imem) # c

sym = rg[:sym]
# @@Vrb.vrb "#{pc.to_xeh} #{sym} #{rg[:cop].to_xeh}" if 0 <= rg.p
# @@Vrb.vrb [1, rg[:pc], rg[:sym], rg[:cop]] if 0 <= rg.p
# @@Vrb.s<< [1, pc, sym, rg[:cop]] if 0 <= rg.p # p
@@Vrb.s[I_V]<< [1, pc, sym, rg[:cop]] if rg.flge? # p
@@Vrb.vrb

if [stu.call, ( # sym hakai # bagu no moto
next if pcoj.call)][0] # r
then
sym && pctj<< 1 + pco[0] = pc # p # ifj.call && pctj<<
rg.flgflp # flg_d
# )
end
rg.push(:pc, pc = rg[:pc, -1] + 1)
rg.push(:sp, rg[:sp, -1])
end

if rg.flgd? &&
ise[i_iD].empty? || (0 == ise[i_iD].hgt && 0 > ise[i_iD][-1][i_pc])

# rg.p = 0 > (pt = rg.p) ? ~ pt : pt
# 0 > rg.p && rg.p = ~ rg.p
# 0 > (pt = rg.p) && rg.p = ~ pt
rg.flgflp # flg_e

# lpl.plini
plini(@@rmth, lpl) # 310200plini ?
# lpl.plini(@@rmth) # 410200plini

# callinfo, irep, rg = @@jsc.(stack, callinfo, irep, rg, imem) # c
jsc.call

sl.slp(0, 0xf)
@@Vrb.vrb
end
if rg.flge?
rg.shift(:pc); rg.shift(:sp); rg.shift(:cop); rg.shift(:sym)
@pc = pc = rg[:pc]

@sp = rg[:sp]
stack.p = rg[:sp]
@irep = irep
end


# ise[i_iS].reject! { |pfl| # Inspired by : RobertDoggett ? http://microware.com/# , Professor TAKAZAWA Yosimitu http://mu.ice.uec.ac.jp/~takazawa/
# ise[i_iS].delif_c(ts) { |pfl, n|
ise[i_iS].delif_c { |pfl, n|
ise[i_iD]<< [pfl[i_pc], isfl(pfl[i_rg])] # p
}


# ise[i_iD].reject!.with_index { |fis, n|
# ise[i_iD].delif_c(ts) { |fis, n|
ise[i_iD].delif_c { |fis, n|
fis[i_fb].resume(0 > fis[i_pc] ? -1 : n) # cp
}


sl.slp # {GC.start} # g
end

# ensure
## @rmt.kill # nil ( monami-ya.mrb 60510200 ) , Assertion failed: ((obj)->tt != MRB_TT_FREE), function mrb_gc_mark, file src/gc.c, line 591. ( mruby 70410200 )
### @rmt.join
# @rmt.each(&:kill)
end
end

def fib(n)
if n == 1 then
1
elsif n == 0 then
1
else
fib(n - 1) + fib(n - 2)
end
end

def fibt
fib(20)
end


# GC.stress = true # g
# GC.start # g

a = Irep::get_irep(self, :fibt)

# GC.start # g # antei ?

vm = FibVM.new


# $rmtb = true

p vm.eval(a)
p fibt



--
YAMAGUTIseisei ( str_h__namae = { :sei => "山口" , :mei => "青星" } )
http://hello.to/seisei/ mailto:seiseiATx68k.net phs://81.70.5152.1104/
謝々々々 台湾宮廷料理海味館 名古屋市熊の前二丁目 ( MiniStop 対面 )



# 台湾がアメリカからちょっかい掛けられていた頃に小説ネタとして考えた策 :
#
# A. 国名変更 ( 台湾民族日本州国 )
#
# B. 大政馳走 ( 下渡 / 維持 ) + 大台湾島無血開城 ( ※ 但し 鴻海夏普国ゑ ) ← 中華漁師は台湾籍を名乗れば日本領海 ( 含尖閣 ) で少量漁猟可 ?
# ( 日本からは沖縄県を嫁に出す ( 日本国台湾州沖縄県 ※ 但し 沖縄米軍基地一掃 ( 台湾移設 → 三つ巴の状況を作る為に北●鮮大使館なりを隣接 + 韓国軍基地 + 自●隊基地 )
# → 沖縄県経済策 : 全県民へベーシックインカム )
#
# C. B. + 台湾島各米軍基地傍にコ●壱と●戸屋と個人寿司店と個人拉麺店の出店を大バックアップ ( 謝辞 : 機材提供実績感謝 徳鮨白土店 寿司けん白土店 寿し友司岡崎店 六八鮨鴻海店 )
#
# この小説を何方かご執筆なさっては如何でしょうか ( 顔のない独裁者 2 ? )
0 new messages