asmrb 0.0.2.6.1.5 → 0.0.2.6.1.6

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/asmrb.rb +9 -4
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9b3a0793158e9e95f455a2c148467f53fa40faa3
4
- data.tar.gz: 453c754d7ffd7037944c90590389f484a6b54dee
3
+ metadata.gz: 713532ba3b23d5a4d3c3a268c8e3d48866c9ecb3
4
+ data.tar.gz: e505983f28eb226d692acf8311047b9c0f0ec468
5
5
  SHA512:
6
- metadata.gz: 56c0c5e4192f05a38e1f9c688c1f234d440c987124f9bb3e3b3c33fc65053a7c694fa2ca5e50194e30cd3207b0e8d086fd90185a1188dce2b96dd6238e63ae99
7
- data.tar.gz: d34e1173478e234c8e07ab05b8c33e7d62f22da8cc7727fee9bc9c354b54a862ff542fe9cea83c66006551ca57dc96402d94b2766a8799898cf2f1bb3aeb107a
6
+ metadata.gz: 6e434911cf4cebb32dce27b76d1150efb518aef57923aeaeaaefd12daa0dd2104778880657b6452c44bc731d80c70229a19a415aef7fdf74a10fdd5059ff9c84
7
+ data.tar.gz: a8b8c88855449f8741f9c97a25caa103e1665eed62951ccfde442ab9b54817d59d8e7cd12e335c75a2b2c153c54c3859f32b545d5a8aa59eb8ac25c5f7d4a5d6
data/lib/asmrb.rb CHANGED
@@ -70,6 +70,11 @@ class Asmrb
70
70
  end
71
71
 
72
72
  OPS = {
73
+ "los" => lambda { | args |
74
+ args = @variables[args] if @variables.include?(args)
75
+ args.each {|arg| @stack.push arg}
76
+ },
77
+
73
78
  "lea" => lambda { | name |
74
79
  @variables[name] = @stack.pop
75
80
  },
@@ -79,7 +84,7 @@ class Asmrb
79
84
  },
80
85
 
81
86
  "cdr" => lambda { | lst |
82
- @stack.push @variables[lst].drop(@variables[lst].first)
87
+ @stack.push @variables[lst].drop 1
83
88
  },
84
89
 
85
90
  "car" => lambda { | lst |
@@ -92,7 +97,7 @@ class Asmrb
92
97
  @stack.push e
93
98
  },
94
99
 
95
- "dup" => lambda {
100
+ "dpl" => lambda {
96
101
  @stack.push @stack.last
97
102
  },
98
103
 
@@ -198,7 +203,7 @@ class Asmrb
198
203
  #binding.pry if @is_debug
199
204
  },
200
205
 
201
- "fun" => lambda {|name|
206
+ "fnc" => lambda {|name|
202
207
  args = []
203
208
  params = eval "$#{name}.params"
204
209
  params.times do
@@ -264,7 +269,7 @@ class Asmrb
264
269
  when "blo"
265
270
  create_label args.first
266
271
 
267
- when "def"
272
+ when "fun"
268
273
  @name = args.first
269
274
  #create_label args.first
270
275
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asmrb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2.6.1.5
4
+ version: 0.0.2.6.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Trung
@@ -10,7 +10,7 @@ bindir: bin
10
10
  cert_chain: []
11
11
  date: 2015-05-09 00:00:00.000000000 Z
12
12
  dependencies: []
13
- description: create a assembly-like function in ruby.
13
+ description: create a assembly-like toy language in ruby DSL.
14
14
  email: deulamco@gmail.com
15
15
  executables: []
16
16
  extensions: []