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