jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_1_8_1_2_1_6__6121810200.rb
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 ( str_h__namae = { :sei => "山口" , :mei => "青星" } )
http://hello.to/seisei/ mailto:seisei@.68..net tel:081-70-5152-1104
heiwa furiisekkusu 1tu
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