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
日が照つてゐた 今から五億年前に ──高橋新吉