Groups | Search | Server Info | Login | Register


Groups > tw.bbs.comp.sources > #16

jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_1_9_0_8_1_1__1180910200.rb

From YAMAGUTIseisei <seisei@hello.to>
Newsgroups tw.bbs.comp.sources, japan.test, hk.test
Subject jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_1_9_0_8_1_1__1180910200.rb
Followup-To tw.bbs.edu.computer-science
Date 2019-08-12 10:10 +0000
Organization X-PlsDntToRmsMatzYktJlgTtiRbistAnd: http://j.mp/2K8Eo4k?#__Sponsor_-_CellBE
Message-ID <5D513AF8.7040503@hello.to> (permalink)
References (30 earlier) <5C161805.5090308@hello.to> <5C602426.2000502@hello.to> <5C8E192E.6010002@hello.to> <5CBC48AE.5090805@hello.to> <5CFCD132.7020504@hello.to>

Cross-posted to 3 groups.

Followups directed to: tw.bbs.edu.computer-science

Show all headers | View raw


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 ( str_h__namae = { :sei => "山口" , :mei => "青星" } )
http://hello.to/seisei/	mailto:seisei@.68..net	tel:081-70-5152-1104
heiwa furiisekkusu 1tu

Back to tw.bbs.comp.sources | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_1_7_0_6_3_0__0360710200.rb ( Was : Re: jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_1_6_0_7_0_7__7070610200.rb ) YAMAGUTIseisei <seisei@hello.to> - 2017-08-08 03:18 +0000
  jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_1_7_1_0_0_1__1001710200.rb YAMAGUTIseisei <seisei@x68k.net> - 2017-10-01 12:15 +0000
    jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_1_7_1_2_3_1__1321710200.rb YAMAGUTIseisei <seisei@x68k.net> - 2017-12-31 12:57 +0000
      jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_1_8_0_2_0_4__4020810200.rb YAMAGUTIseisei <seisei@hello.to> - 2018-02-04 10:52 +0000
        jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_1_8_0_4_0_1__1040810200.rb YAMAGUTIseisei <seisei@hello.to> - 2018-04-01 13:24 +0000
          jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_1_8_0_5_2_0__0250810200.rb YAMAGUTIseisei <seisei@hello.to> - 2018-05-20 12:21 +0000
            jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_1_8_0_7_0_1__1070810200.rb YAMAGUTIseisei <seisei@hello.to> - 2018-07-01 11:18 +0000
              jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_1_8_0_9_3_0__0390810200.rb YAMAGUTIseisei <seisei@hello.to> - 2018-09-30 11:48 +0000
                jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_1_8_1_2_1_6__6121810200.rb YAMAGUTIseisei <seisei@hello.to> - 2018-12-16 09:16 +0000
                jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_1_9_0_2_1_0__0120910200.rb YAMAGUTIseisei <seisei@hello.to> - 2019-02-10 13:16 +0000
                jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_1_9_0_3_1_7__7130910200.rb YAMAGUTIseisei <seisei@hello.to> - 2019-03-17 09:53 +0000
                jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_1_9_0_4_2_1__1240910200.rb YAMAGUTIseisei <seisei@hello.to> - 2019-04-21 10:40 +0000
                jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_1_9_0_6_0_9__9060910200.rb YAMAGUTIseisei <seisei@hello.to> - 2019-06-09 09:28 +0000
                jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_1_9_0_8_1_1__1180910200.rb YAMAGUTIseisei <seisei@hello.to> - 2019-08-12 10:10 +0000
                jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_1_9_1_0_2_7__7201910200.rb YAMAGUTIseisei <seisei@hello.to> - 2019-10-27 12:29 +0000
                jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_1_9_1_2_1_5__5121910200.rb YAMAGUTIseisei <seisei@hello.to> - 2019-12-15 12:24 +0000
                jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_2_0_0_2_1_6__6120020200.rb YAMAGUTIseisei <seisei@hello.to> - 2020-02-16 16:30 +0000
                jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_2_0_0_4_1_9__9140020200.rb YAMAGUTIseisei <seisei@hello.to> - 2020-04-19 16:59 +0000
                jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_2_0_0_7_0_5__5070020200.rb YAMAGUTIseisei <seisei@hello.to> - 2020-07-05 12:08 +0000
                jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_2_0_1_0_2_5__5201020200.rb YAMAGUTIseisei <seisei@hello.to> - 2020-10-25 11:16 +0000
                jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_2_1_0_1_1_0__0110120200.rb YAMAGUTIseisei <seisei@hello.to> - 2021-01-10 10:34 +0000
                jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_2_1_0_3_2_8_8230120200.rb YAMAGUTIseisei <seisei@hello.to> - 2021-03-28 15:48 +0000
                jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_2_1_0_4_2_4__4240120200.rb YAMAGUTIseisei <seisei@hello.to> - 2021-04-25 00:23 +0000
                jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_2_1_0_7_1_3__3170120200.rb YAMAGUTIseisei <seisei@hello.to> - 2021-07-13 12:15 +0000
                jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_2_1_1_0_0_8__8001120200.rb YAMAGUTIseisei <seisei@hello.to> - 2021-10-08 09:10 +0000
                jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_2_2_0_2_0_6__6020220200.rb YAMAGUTIseisei <seisei@hello.to> - 2022-02-06 15:29 +0000
                jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_2_2_0_3_0_6__6030220200.rb YAMAGUTIseisei <seisei@hello.to> - 2022-03-06 10:14 +0000
                jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_2_2_0_4_0_4__4040220200.rb YAMAGUTIseisei <seisei@hello.to> - 2022-04-04 15:20 +0000
                Debug ? ( Was : jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_2_2_0_4_0_4__4040220200.rb ) YAMAGUTIseisei <seisei@hello.to> - 2022-04-24 08:27 +0000
                jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_2_2_0_6_2_6__6260220200.rb YAMAGUTIseisei <seisei@hello.to> - 2022-06-26 14:52 +0000
                jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_2_2_1_0_1_7__7101220200.rb YAMAGUTIseisei <seisei@hello.to> - 2022-10-17 22:10 +0000
                jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_2_3_0_6_1_7__7160320200.rb "YAMAGUTIseisei(MasinZenmetu)" <seisei@hello.to> - 2024-01-07 14:44 +0000
          DoNotOpen:SJIS : Re : jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_2_0_0_7_0_5__5070020200.rb YAMAGUTIseisei <seisei@hello.to> - 2020-07-12 14:55 +0000

csiph-web