asmrb 0.0.2.6.1.9 → 0.0.2.6.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/asmrb.rb +9 -10
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 79a3be83135d9b7accc927496c57331b8000503f
|
4
|
+
data.tar.gz: 3552bee762676c442b75cc34c07b4357a1273c2f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dae555426663211d7f2e90eee12552d7463d3869e30292a9dbea3654313ec669ed8b6097b881af890320740a698037a38cd4e09ba22dbcf5d2c37b82a3051da4
|
7
|
+
data.tar.gz: ea5b941af24650381ae07ee1f38e8b4e9a546e6693c77f41849fcbaf8f4dada9c61623f23e7568de5bd4c2c744caa41cbdb5080241ce3279f2f7d5cf532eda87
|
data/lib/asmrb.rb
CHANGED
@@ -270,7 +270,7 @@ class Asmrb
|
|
270
270
|
},
|
271
271
|
|
272
272
|
"pop" => lambda {|val|
|
273
|
-
@
|
273
|
+
@stack.pop
|
274
274
|
},
|
275
275
|
|
276
276
|
"psh" => lambda {|src|
|
@@ -294,7 +294,7 @@ class Asmrb
|
|
294
294
|
|
295
295
|
"dbg" => lambda {
|
296
296
|
puts "#{@stack} > #{@program[@pc][0]}".light_green
|
297
|
-
|
297
|
+
binding.pry if @is_debug
|
298
298
|
},
|
299
299
|
|
300
300
|
"inv" => lambda { |obj, f|
|
@@ -528,7 +528,7 @@ class Asmrb
|
|
528
528
|
end
|
529
529
|
|
530
530
|
OPCODES = {
|
531
|
-
:dbg => lambda {
|
531
|
+
:dbg => lambda {"binding.pry"},
|
532
532
|
:req => lambda {|_|},
|
533
533
|
|
534
534
|
:map => lambda {|op| "#{@compile_stack}.map &:#{op}" },
|
@@ -609,6 +609,7 @@ class Asmrb
|
|
609
609
|
}
|
610
610
|
end
|
611
611
|
|
612
|
+
# demo for testing
|
612
613
|
# @x = Asmrb.new do
|
613
614
|
# fun :play
|
614
615
|
# arg :toy
|
@@ -660,7 +661,7 @@ end
|
|
660
661
|
# # applying: argumented block ( lambda )
|
661
662
|
# # should be "inline block" technique also,
|
662
663
|
# # to improve performance and local variable sharing.
|
663
|
-
# @
|
664
|
+
# @f = Asmrb.new do
|
664
665
|
# fun :factorial
|
665
666
|
# arg :acc, :n
|
666
667
|
# los :n, 1
|
@@ -681,9 +682,7 @@ end
|
|
681
682
|
# exi # no return yet, because return doesn't mean anything inside a block. we can't escape.
|
682
683
|
# end
|
683
684
|
|
684
|
-
# @
|
685
|
-
#
|
686
|
-
#
|
687
|
-
#
|
688
|
-
#puts "Start test:"
|
689
|
-
#y = factorial 1, 1000
|
685
|
+
# source = @f.to_ruby
|
686
|
+
# puts source
|
687
|
+
# eval source
|
688
|
+
# factorial 1, 3
|