jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_2_0_0_4_1_9__9140020200.rb
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
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735