Groups | Search | Server Info | Login | Register


Groups > relcom.comp.sources.misc > #2

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

From YAMAGUTIseisei <seisei@hello.to>
Newsgroups relcom.comp.sources.misc, tw.bbs.comp.sources, japan.test
Subject jit-1_-_github__ysei~mruby-meta-circular-heiretu_-_nightly_-_2_0_2_2_0_4_0_4__4040220200.rb
Followup-To relcom.comp.sources.d, relcom.comp.gis, relcom.comp.ai
Date 2022-04-04 15:20 +0000
Organization NaritaSyuzanJyuku
Message-ID <t2f2ok$e4k$1@dont-email.me> (permalink)
References (30 earlier) <5DB58DA3.2040901@hello.to> <5E9C8375.8090205@hello.to> <6084B68A.2090600@hello.to> <60ED83E5.9030309@hello.to> <t0220t$931$1@dont-email.me>

Cross-posted to 3 groups.

Followups directed to: relcom.comp.sources.d, relcom.comp.gis, relcom.comp.ai

Show all headers | View raw


1745d
1737,1738c
##	  (pctj<< 1 + pco[0] = pc) if ifj.(sym)		# p 	# c 
	  (pctj<< 1 + pco[0] = pc) if sym		# p 
.
1731,1734c
#	[(ifj.(sym) || ifs.(sym))	||				# c 2 
	[(ifj.(sym) || [ifs.(sym), sym = false][0]) ||	# c 2	# sym hakai	# bagu no moto
.
1729c
#	loc.vrb [1, pc, sym, rg[:cop]] if 0 <= rg.p
	@@Vrb.s<< [1, pc, sym, rg[:cop]] if 0 <= rg.p		# p 
.
1719a
      @@Vrb.vrb
.
1704c
#      true
.
1702a
	! pcf
.
1701a
	pfl && ise[i_i_d]<< pfl			# p 
.
1699,1700c
#	else
#	  ise[i_i_d]<< pfl			# p 
.
1696,1697c
#	    next ! (ise[i_i_d]<< pfl)	# r 	# p 
	    pcf = false
	  else
	    pfl = nil
.
1691c
#      if pfl = ise[i_i_d].pop
      ! if pfl = ise[i_i_d].pop
.
1603c
#      (0 > c || (sym = stack.getarg_a; [sym, ! sym][c])) &&
      (0 > c || [true, false].index(stack.getarg_a) == c) &&
.
1597,1601d
1541,1543c
#	m = Fiber.yield ri && rf
#	(fl.resume(m.abs) && rf = true) if 0 <= m # || 0 <= pc
	(fl.resume(m) && rf = true) if 0 <= m = Fiber.yield(ri && rf) # || 0 <= pc
.
1539d
1536,1537c
#    ri, rf = false
#    Fiber.new { |m = 1|
    Fiber.new { |m = 1, ri = false, rf = false|
.
1368a
#	@@Vrb.s<< [2, pc, getarg__(verb[0]), verb[1]]		# p 
.
1342c
#    str__getarg = STR__GETARG
.
1329a

# include M__RiteOpcodeUtil__Getarg__

.
1312c
    ) # .move	# ? 	# conf.gem :github => 'miura1729/mruby-mmm'
.
1309,1310c
#      c_l = Fls__l.new(loc, s, i, imem, @Rou, @pl)
      c_l = Fls__l.new(loc, s, i, imem, @Rou, @pl, pc, @@Vrb)
.
1292c
#      @loc.vrb [3, pc, @sym, *@rs.reverse]
      @@Vrb.s<< [3, pc, @sym, *@rs.reverse]
.
1280a
#      @f ||= [(@ji_ngq = ji_ngq).all? || return][0]		# r 
.
1270,1272c
      ve.call
.
1256a
      ve = ->{
#      case v when Array then ! v.empty? end && vrb( # [2, pc, *v])
#	[2, pc, *v.map{|v| case v when String then v.chomp else v end}])	# fuguai taisaku
	case v when Array then ! v.empty? end && @@Vrb.s<<  [2, pc, # *v]	# p 
	  *v.map{|v| case v when String then v.chomp else v end}]	# fuguai taisaku
#	  *v.map{|v| knid(v, :String) ? @rou.getarg__(v) : v}]	# otiru	# fuguai taisaku
##	  [2, pc, *v.map{|v| knid(v, :String) ? @rou.getarg__(v) : v}]	# fuguai taisaku
##	"#{(pc).to_xeh}		#{getarg__(v[0])}	#{v[1].to_xeh}")}
      }

.
1220c
	@i_lb = imem.fmli.index('st') + 1
.
1212d
1210d
1208d
1206d
1200d
1198d
1195c
		@plr.clear	# .slice! .pop(n) .shift(n) higokan monami-ya.mrb:60510200 mruby:70410200
.
1193d
1191d
1189a
##	mkt = ->(v) {v.nil?}	# v[0].nil?}		# l 
.
1188d
1177c
#	@s = s; @imem = imem; @lpl = lpl
	@s = s; @imem = imem; @rou = rou, @lpl = lpl
.
1172,1173c
#    def initialize(loc, s, irep, imem, rou, lpl)
    def initialize(loc, s, irep, imem, rou, lpl, pc, vrb)

      @@Vrb = vrb
.
1151d
1147,1148c
#     self.replace(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
.
1123a
    @@Vrb = Vrb.new
.
1089,1091c
#   @pl = ENVary.new(true)				# 410200plini
    plini(@@rmth, @pl = ENVary.new(true))		# 310200plini ?
.
1085d
1060d
1053d
1049a
module M__Vrb
  @@s = nil

  attr_accessor :s

  def initialize(a = @@s)
    @s = a ||= @@s ||= AryM.new
  end

  def vrb(a = nil)
    @s.empty? && return		# r 

    s = ''
    @s.each{ |a|
      case a
      when Array
##	s = [['		', '	'], ['	', ' ']][a[0] <=> 2]
# 	s = ['		', '	', ' '][a[0] & 1, 2]
#	s = a[1].to_xeh << "	" * a[0] <<
#	sa ||= [['		', '	'], ['	', ' ']][a[0] <=> 2]
	sa ||= ['		', '	', ' '][a[0] & 1, 2]
	s << a[1].to_xeh << "	" * a[0] <<
##	  "#{a[2]}	#{a[3].to_xeh}"
#	  "#{a[2].to_s << (s[(0 <=> a[2].size - TABU1) >> 1])}#{a[3].to_xeh}"
#	  "#{a[2].to_s << (sa[(0 <=> a[2].size - TABU1) >> 1])}#{a[3].to_xeh}"
##	  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 )
		(sa[(0 <=> a[2].size - TABU1) >> 1])}#{a[3].to_xeh}"
	a[4] && s << "	#{a[4].to_xeh}"
      else
#	s = a
	s << a
      end

#      puts s
      s << "\n"
    }
    1 < s.size && puts(s.chop)		# fuguai taisaku (osx/ppc, freebsd8/i386)
    @s.clear
#   @@Slp.slp 0
  end
end

class Vrb
# include M__RiteOpcodeUtil__Getarg__
  include M__Vrb
end
.
836d
829d
821a
	v = []
.
820a
#	m = sl.plwt(m, 0) { |n| Fiber.yield([flg || mx < thi][n])}
.
819d
815c
	  idx -= (idx <=> mx) >> 1	# += (mx <=> idx) + 1 >> 1
.
811,813c
#	  r || (next ini.call)		# fuguai taisaku ?
	  r || (next(Fiber.yield(false); ini.call))	# fuguai taisaku ?
.
796,803c
##	  v[0] && ve.call
#	  v[0] && # (
#		ve.call;  v = [] # )

#	  r = pl_es(pc, kt.call ?
#		(0 ... thi = idx + 1).flat_map { |n|
#			[thl[ n ], [th[ n ]] + [[v], v = []][0]]}	# .slice! higokan monami-ya.mrb:60510200 mruby:70410200
#		:	[thl[idx], [th[idx],	[v]]])
	  r = pl_es(pc, ((kt.call ? (thi = idx + 1; 0) : idx) .. idx
		).flat_map { |n| [thl[n], [th[n]] + [[v], v = []][0]]})		# .slice! higokan monami-ya.mrb:60510200 mruby:70410200
.
787,793c
#	if 0 < idx && ckth(th[idx], 2) && kt.call	# ji_ngq ||= plw__kt(pc)
#	  idx -= 1
#	  flg = true
##	  flg ||= true
#	else
#	  th[idx], v = s_id(th[idx]) # if mx >= idx # && ckth(th[idx], 3)
#	end
	(0 < idx && ckth(th[idx], 2) && kt.call) ?	# ji_ngq ||= plw__kt(pc)
	  (flg = ! ! idx -= 1) :			# flg ||= true
	    (th[idx], v = s_id.(th[idx])) # if mx >= idx # && ckth(th[idx], 3)	# c 
.
785c
#		(next ini.call))			# fuguai taisaku ?
		(next(Fiber.yield(false); ini.call)))	# fuguai taisaku ?
.
782a
    s_id = ->(thidx) {		# l 
##	thidx[0] = case a = thidx[0] when Numeric then a else getarg__(a) end
	thidx = [st_id([thidx]), thidx]	#(thidx), thidx]
	thidx[0][1].nil? && thidx[0][1] = thidx[1]
	thidx[0]
    }

#    Fiber.new { |m = 1| 0 < m && Fiber.yield(false)
    Fiber.new { |m = 1| fb0.(m)		# c 
.
780,781c
#      th = (idx .. mx = thl.hgt).map {tb}
.
778c
#    Fiber.new { |m = 1| 0 < m && Fiber.yield(false)
.
773a
    fb0 = ->(m) {0 < m && Fiber.yield(false)
			th = (idx .. mx = thl.hgt).map {tb}}
.
770d
766c
#	"#{(pc - 1).to_xeh}		#{v[0].getarg}	#{v[1].to_xeh}")}
#    ][LV__VRB]
.
762,764c
#    ve = [-> {},
#	  -> {loc.vrb([2, pc - 1, *v])}
.
760d
737,742c

#    a = [a[1], case a = a[0] when Numeric then # nil
#	else ?_ == a.to_s[0] ? 'getarg' << a : a end].reverse	# .rotate	# q 	# higokan monami-ya.mrb:60510200 mruby:70410200	: STR__GETARG , $str__getarg
#    a = [a[1], case a = a[0] when Numeric then else getarg__(a) end].reverse	# .rotate
.
732,733c
    return [a[0], nil] if 0 >= a.hgt				# r 
##  return a.ijr { |v| v.inject(@@imem.mcall) || v[0]}		# r 
.
726,730c
##     knid(a, :Array)	?     s_id(a)  :	# __method__(a)  :    #? mruby 410200	# heiretu : BeOS,PalmOS6,Aperios,HongmengOS,1489922543/30-42#97-98 <-> Smalltalk ( AlanKay , itojun ) ?
#      case a when Array then  s_id(a)  else	# __method__(a)  else #? mruby 410200	# heiretu : BeOS,PalmOS6,Aperios,HongmengOS,1489922543/30-42#97-98 <-> Smalltalk ( AlanKay , itojun ) ?		# higokan monami-ya.mrb:60510200 mruby:70410200
#	   a	end

      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 ?
#     case a when Array then # 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 ?		# higokan monami-ya.mrb:60510200 mruby:70410200
#			  s_id(a) # } # __method__(a) # }	#? mruby 410200
			  st_id(a)[0] # } # __method__(a) # }	#? mruby 410200
      :	   a
#     else a end
.
723c
#    ((tb = TB.dup) == a || knid(a, :Array).!) && (return a)
    ((TB) == a || knid(a, :Array).!) && (return a)
.
720c
#  def s_id(a)
  def st_id(a)
.
717a
	getarg__(a[0]), a[1])		end
.
715c
#	*a)				end
.
709a
  include M__RiteOpcodeUtil__Getarg__

.
682,686d
677,679c
#  def ctr_s(ctr)
  def ctr_s(c)
#    pl_es(0, [:ctr, ctr])
#    ctr
    pl_es(0, [:ctr, c])
    c
.
658d
585,586d
579,580d
567,568d
537d
535c
  ) # .move	# ? 	# conf.gem :github => 'miura1729/mruby-mmm'
.
529,531c
      def idx(*a)	a[0].to_xeh	end
      def lbl(a)	@@idb + idx(*a)	end
.
525,527c
#      def idx(*a)
#	a[0].to_xeh
#      end

#      def lbl(a)
#	@@idb + idx(*a)
#      end
.
479c
# include M__RiteOpcodeUtil__Getarg__
.
460d
456,458c
#  def getarg__(s)
#    ?_ == s.to_s[0] ? 'getarg' << s : s		# q 	# higokan monami-ya.mrb:60510200 mruby:70410200	: STR__GETARG , $str__getarg
#  end
.
427d
371,423c
#     when :NOP		# 何もしない
#     when :MOVE	# MOVE Ra, RbでレジスタRaにレジスタRbの内容をセットする
#	@stack[@sp + getarg_a(cop)] = @stack[@sp + getarg_b(cop)]
#	@stack[r1] = @stack[r0]
#     when :LOADL	# LOADL Ra, pb でレジスタRaに定数テーブル(pool)のpb番目の値をセットする
#	@stack[@sp + getarg_a(cop)] = @irep.pool[getarg_bx(cop)]
#	@stack[r1] = @irep[0].pool[r0]
#	ops = [[['getarg_bx', cop], [sp, ['getarg_a', cop]]]]
#     when :LOADI	# LOADI Ra, n でレジスタRaにFixnumの値 nをセットする
#	@stack[@sp + getarg_a(cop)] = getarg_sbx(cop)
#	@stack[r1] = r0
#     when :LOADSYM
#	@stack[@sp + getarg_a(cop)] = irep.syms[getarg_bx(cop)]
#	@stack[r1] = @irep[0].syms[r0]
#     when :LOADSELF	# LOADSELF Ra でレジスタRaに現在のselfをセットする
#	@stack[@sp + getarg_a(cop)] = @stack[@sp]
#	@stack[r1] = @stack[r0]
#	ops = [[[sp], [sp, ['getarg_a', cop]]]]
#     when :LOADT
#	@stack[@sp + getarg_a(cop)] = true
#	@stack[r1] = r0
#     when :ADD		# ADD Ra, Rb でレジスタRaにRa+Rbをセットする
#	@stack[@sp + getarg_a(cop)] += @stack[@sp + getarg_a(cop) + 1]
#	@stack[r1] += @stack[r0 + 1]
#	ops = [[[sp, ['getarg_a', cop]]]]
#     when :ADDI
#	@stack[@sp + getarg_a(cop)] += getarg_c(cop)
#	@stack[r1] += r0
#     when :SUB
#	@stack[@sp + getarg_a(cop)] -= @stack[@sp + getarg_a(cop) + 1]
#	@stack[r1] -= @stack[r0 + 1]
#     when :SUBI	# SUB Ra, n でレジスタRaにRa-nをセットする
#	@stack[@sp + getarg_a(cop)] -= getarg_c(cop)
#	@stack[r1] -= r0
#     when :MUL
#	@stack[@sp + getarg_a(cop)] *= @stack[@sp + getarg_a(cop) + 1]
#	@stack[r1] *= @stack[r0 + 1]
#     when :DIV
#	@stack[@sp + getarg_a(cop)] /= @stack[@sp + getarg_a(cop) + 1]
#	@stack[r1] /= @stack[r0 + 1]
#     when :EQ	# EQ Ra でRaとR(a+1)を比べて同じならtrue, 違うならfalseをRaにセットする
#	val = (@stack[@sp + getarg_a(cop)] == @stack[@sp + getarg_a(cop) + 1])
#	val = @stack[r1] == @stack[r0 + 1]
#	@stack[@sp + getarg_a(cop)] = val
#	@stack[r1] = val
.
364a
  include M__RiteOpcodeUtil__Getarg__
.
358c
##     self.send(:s__send, a[1][2 .. -1], *a[2 .. -1])	# higokan mruby 70410200
#      self.send(:s__send, a[1].to_s[2 .. -1], *a[2 .. -1])
#     send(:s__send, a[1][2 .. -1], *a[2 .. -1])	# higokan mruby 70410200
      send(:s__send, a[1].to_s[2 .. -1], *a[2 .. -1])
.
353,355c
#      when Array then return (a3 = a.pop).map{ |v| v.nil? ? v : send(*a, v)}	# r 
      when Array then return a.pop.map{ |v| v.nil? ? v : send(*a, v)}	# r 
      else send(*a)
.
345,346c
#  def s__r1_eq_sr01(*a) a[0][		a[1] + 1] ==
#			a[0][		a[2]]		end
  def s__r1_eq_sr01(*a) a[2]		&&
    a[0][a[1] + 1] ==	a[0][		a[2]]		end
.
330c
# LOC = Plok.new(FL << ?/ << 'lok'.sub(/lok/, 'loc')	# RISC OS ?	# q 
#	Plok.new(FL << '/' 'lok'[''] = 'loc')		# RISC OS ?	# higokan monami-ya.mrb:60510200 mruby:70410200


module M__RiteOpcodeUtil__Getarg__
  def getarg__(s)
    ?_ == (s = s.to_s)[0] ? 'getarg' << s : s		# q 	# higokan monami-ya.mrb:60510200 mruby:70410200	: STR__GETARG , $str__getarg
  end
end
.
303,322d
292d
248a
# def plwt(m = 1, sl = nil)
#   sl && slp(sl)
.
230c
# def initialize;	@@slp = @@nsl_.force[0]		end	#? mruby 410200
.
212c
#  @@slp = nil
.
165a
# module M__Fiber
#   def yield(a)
#     [super, (sl = Slp.new).slp 0][0]
#   end
# end
#
# class Fiber
#   include M__Fiber
# end

.
153,155c
#	(v = a[n]) && yield(v, c) && (next a.delete_at(n)); n += 1
	(i = a[n]) && yield(i, c) && (next a.delete_at(n)); n += 1
.
151c
#      (i > fr = a.size - fr) && i = fr
      ((i > fr = a.size - fr) || 0 == i) && i = fr
.
38a
TABU1 = 8 - 1
.
36c
THLB = :th
#MH_THL = (0 .. 1).map { |n| 'th' << n.to_xeh}
MH_THL = (0 .. 1).map { |n| THLB.to_s << n.to_xeh}
.
30c
# TS = 3		# = (@@rmth >> 1) + 1	# = $$ + 1	# = 68060
.
18,19d
11a
	:-,	:/,	:*,	:+,

	:sr0,	:r0,	:sr01,	:r1_eq_sr01,
	:s__send,	:__pool,	:__syms,
.
8d
6d



-- 
YAMAGUTIseisei ( str_h__namae = { :sei => "山口" , :mei => "青星" } )
http://hello.to/seisei/	mailto:seisei@.68..net
英断 プーチン大統領 チェルノブイリ原●離脱令

Back to relcom.comp.sources.misc | Previous | NextPrevious in thread | Find similar


Thread

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

csiph-web