koi-vm 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.3
1
+ 0.0.4
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{koi-vm}
8
- s.version = "0.0.3"
8
+ s.version = "0.0.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Aaron Gough"]
@@ -45,6 +45,13 @@ Gem::Specification.new do |s|
45
45
  "lib/koi-vm/opcodes/function_operations/push_function.rb",
46
46
  "lib/koi-vm/opcodes/function_operations/return.rb",
47
47
  "lib/koi-vm/opcodes/function_operations/tailcall.rb",
48
+ "lib/koi-vm/opcodes/hash_operations/get_key.rb",
49
+ "lib/koi-vm/opcodes/hash_operations/has_key.rb",
50
+ "lib/koi-vm/opcodes/hash_operations/length.rb",
51
+ "lib/koi-vm/opcodes/hash_operations/num_pairs.rb",
52
+ "lib/koi-vm/opcodes/hash_operations/pairs.rb",
53
+ "lib/koi-vm/opcodes/hash_operations/push_hash.rb",
54
+ "lib/koi-vm/opcodes/hash_operations/set_key.rb",
48
55
  "lib/koi-vm/opcodes/io_operations/gets.rb",
49
56
  "lib/koi-vm/opcodes/io_operations/print.rb",
50
57
  "lib/koi-vm/opcodes/math_operations/add.rb",
@@ -87,6 +94,13 @@ Gem::Specification.new do |s|
87
94
  "test/unit/opcodes/function_operations/push_function_test.rb",
88
95
  "test/unit/opcodes/function_operations/return_test.rb",
89
96
  "test/unit/opcodes/function_operations/tailcall_test.rb",
97
+ "test/unit/opcodes/hash_operations/get_key_test.rb",
98
+ "test/unit/opcodes/hash_operations/has_key_test.rb",
99
+ "test/unit/opcodes/hash_operations/length_test.rb",
100
+ "test/unit/opcodes/hash_operations/num_pairs_test.rb",
101
+ "test/unit/opcodes/hash_operations/pairs_test.rb",
102
+ "test/unit/opcodes/hash_operations/push_hash_test.rb",
103
+ "test/unit/opcodes/hash_operations/set_key_test.rb",
90
104
  "test/unit/opcodes/io_operations/gets_test.rb",
91
105
  "test/unit/opcodes/io_operations/print_test.rb",
92
106
  "test/unit/opcodes/math_operations/add_test.rb",
@@ -135,6 +149,13 @@ Gem::Specification.new do |s|
135
149
  "test/unit/opcodes/function_operations/push_function_test.rb",
136
150
  "test/unit/opcodes/function_operations/return_test.rb",
137
151
  "test/unit/opcodes/function_operations/tailcall_test.rb",
152
+ "test/unit/opcodes/hash_operations/get_key_test.rb",
153
+ "test/unit/opcodes/hash_operations/has_key_test.rb",
154
+ "test/unit/opcodes/hash_operations/length_test.rb",
155
+ "test/unit/opcodes/hash_operations/num_pairs_test.rb",
156
+ "test/unit/opcodes/hash_operations/pairs_test.rb",
157
+ "test/unit/opcodes/hash_operations/push_hash_test.rb",
158
+ "test/unit/opcodes/hash_operations/set_key_test.rb",
138
159
  "test/unit/opcodes/io_operations/gets_test.rb",
139
160
  "test/unit/opcodes/io_operations/print_test.rb",
140
161
  "test/unit/opcodes/math_operations/add_test.rb",
@@ -53,6 +53,15 @@ module KoiVM
53
53
  RETURN = 163
54
54
  TAILCALL = 164
55
55
 
56
+ # 180
57
+ PUSH_HASH = 180
58
+ SET_KEY = 181
59
+ GET_KEY = 182
60
+ HAS_KEY = 183
61
+ LENGTH = 184
62
+ NUM_PAIRS = 185
63
+ PAIRS = 186
64
+
56
65
  # 240
57
66
  NO_OP = 240
58
67
  EXIT = 255
@@ -4,6 +4,7 @@ module KoiVM
4
4
  INTEGER_ = 2
5
5
  FLOAT_ = 3
6
6
  STRING_ = 4
7
+ HASH_ = 5
7
8
 
8
9
 
9
10
  FUNCTION_ = 16
@@ -0,0 +1,14 @@
1
+ module KoiVM
2
+ class VM
3
+
4
+ @@instruction[GET_KEY] = Proc.new() do |vm|
5
+ raise StackError, "Expecting at least two items on the data stack" unless(vm.data_stack.length > 1)
6
+ raise StackError, "Expecting a hash" unless(vm.data_stack[-2][0] == HASH_)
7
+ key = vm.data_stack.pop
8
+ vm.data_stack.push( vm.data_stack.pop[1][key] )
9
+ vm.data_stack[-1] = [NIL_, nil] if(vm.data_stack[-1] == nil)
10
+ vm.instruction_pointer = vm.instruction_pointer + 1
11
+ end
12
+
13
+ end
14
+ end
@@ -0,0 +1,18 @@
1
+ module KoiVM
2
+ class VM
3
+
4
+ @@instruction[HAS_KEY] = Proc.new() do |vm|
5
+ raise StackError, "Expecting at least two items on the data stack" unless(vm.data_stack.length > 1)
6
+ raise StackError, "Expecting a hash" unless(vm.data_stack[-2][0] == HASH_)
7
+ key = vm.data_stack.pop
8
+ hash = vm.data_stack.pop[1]
9
+ if(hash.has_key?(key))
10
+ vm.data_stack.push([BOOL_, true])
11
+ else
12
+ vm.data_stack.push([BOOL_, false])
13
+ end
14
+ vm.instruction_pointer = vm.instruction_pointer + 1
15
+ end
16
+
17
+ end
18
+ end
@@ -0,0 +1,19 @@
1
+ module KoiVM
2
+ class VM
3
+
4
+ @@instruction[LENGTH] = Proc.new() do |vm|
5
+ raise StackError, "Expecting at least one item on the data stack" unless(vm.data_stack.length > 0)
6
+ raise StackError, "Expecting a hash" unless(vm.data_stack[-1][0] == HASH_)
7
+ hash = vm.data_stack.pop[1]
8
+ integer_keys = hash.keys.reject{|x| x[0] != INTEGER_ }.map{|x| x[1]}
9
+ highest_key = integer_keys.sort.last
10
+ if(highest_key.nil?)
11
+ vm.data_stack.push([INTEGER_, 0])
12
+ else
13
+ vm.data_stack.push([INTEGER_, highest_key + 1])
14
+ end
15
+ vm.instruction_pointer = vm.instruction_pointer + 1
16
+ end
17
+
18
+ end
19
+ end
@@ -0,0 +1,12 @@
1
+ module KoiVM
2
+ class VM
3
+
4
+ @@instruction[NUM_PAIRS] = Proc.new() do |vm|
5
+ raise StackError, "Expecting at least one item on the data stack" unless(vm.data_stack.length > 0)
6
+ raise StackError, "Expecting a hash" unless(vm.data_stack[-1][0] == HASH_)
7
+ vm.data_stack.push([INTEGER_, vm.data_stack.pop[1].length ])
8
+ vm.instruction_pointer = vm.instruction_pointer + 1
9
+ end
10
+
11
+ end
12
+ end
@@ -0,0 +1,22 @@
1
+ module KoiVM
2
+ class VM
3
+
4
+ @@instruction[PAIRS] = Proc.new() do |vm|
5
+ raise StackError, "Expecting at least one item on the data stack" unless(vm.data_stack.length > 0)
6
+ raise StackError, "Expecting a hash" unless(vm.data_stack[-1][0] == HASH_)
7
+ hash = vm.data_stack.pop[1]
8
+ hashed_hash = {}
9
+ index = 0
10
+ hash.each_pair do |k,v|
11
+ hashed_hash[[INTEGER_, index]] = [HASH_, {
12
+ [INTEGER_, 0] => k,
13
+ [INTEGER_, 1] => v
14
+ }]
15
+ index += 1
16
+ end
17
+ vm.data_stack.push([HASH_, hashed_hash])
18
+ vm.instruction_pointer = vm.instruction_pointer + 1
19
+ end
20
+
21
+ end
22
+ end
@@ -0,0 +1,10 @@
1
+ module KoiVM
2
+ class VM
3
+
4
+ @@instruction[PUSH_HASH] = Proc.new() do |vm|
5
+ vm.data_stack.push([HASH_, {}])
6
+ vm.instruction_pointer = vm.instruction_pointer + 1
7
+ end
8
+
9
+ end
10
+ end
@@ -0,0 +1,14 @@
1
+ module KoiVM
2
+ class VM
3
+
4
+ @@instruction[SET_KEY] = Proc.new() do |vm|
5
+ raise StackError, "Expecting at least three items on the data stack" unless(vm.data_stack.length > 2)
6
+ raise StackError, "Expecting a hash" unless(vm.data_stack[-3][0] == HASH_)
7
+ value = vm.data_stack.pop
8
+ key = vm.data_stack.pop
9
+ vm.data_stack[-1][1][key] = value
10
+ vm.instruction_pointer = vm.instruction_pointer + 1
11
+ end
12
+
13
+ end
14
+ end
@@ -9,6 +9,8 @@ module KoiVM
9
9
  vm.data_stack.push([STRING_, "integer"]) if(value[0] == INTEGER_)
10
10
  vm.data_stack.push([STRING_, "float"]) if(value[0] == FLOAT_)
11
11
  vm.data_stack.push([STRING_, "string"]) if(value[0] == STRING_)
12
+ vm.data_stack.push([STRING_, "hash"]) if(value[0] == HASH_)
13
+ vm.data_stack.push([STRING_, "function"]) if(value[0] == FUNCTION_)
12
14
  vm.instruction_pointer = vm.instruction_pointer + 1
13
15
  end
14
16
 
@@ -0,0 +1,56 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', '..', 'test_helper.rb'))
2
+
3
+ class GetKeyTest < Test::Unit::TestCase
4
+
5
+ include KoiVM
6
+
7
+ test "should get key in hash" do
8
+ vm = VM.new
9
+ vm.data_stack = [[HASH_, {[INTEGER_, 1] => [STRING_, "yay"]}], [INTEGER_, 1]]
10
+ vm.run [
11
+ GET_KEY
12
+ ]
13
+ assert_equal [[STRING_, "yay"]], vm.data_stack
14
+ assert_equal 1, vm.instruction_pointer
15
+ end
16
+
17
+ test "should get unset key in hash" do
18
+ vm = VM.new
19
+ vm.data_stack = [[HASH_, {}], [INTEGER_, 1]]
20
+ vm.run [
21
+ GET_KEY
22
+ ]
23
+ assert_equal [[NIL_, nil]], vm.data_stack
24
+ assert_equal 1, vm.instruction_pointer
25
+ end
26
+
27
+ test "should raise StackError if stack[-2] is not a hash" do
28
+ assert_raises StackError do
29
+ vm = VM.new
30
+ vm.data_stack = [[INTEGER_, 1], [INTEGER_, 1]]
31
+ vm.run [
32
+ GET_KEY
33
+ ]
34
+ end
35
+ end
36
+
37
+ test "should raise StackError if there is only 1 item on the stack" do
38
+ assert_raises StackError do
39
+ vm = VM.new
40
+ vm.data_stack = [[HASH_, {}]]
41
+ vm.run [
42
+ GET_KEY
43
+ ]
44
+ end
45
+ end
46
+
47
+ test "should raise StackError if there are no items on the stack" do
48
+ assert_raises StackError do
49
+ vm = VM.new
50
+ vm.run [
51
+ GET_KEY
52
+ ]
53
+ end
54
+ end
55
+
56
+ end
@@ -0,0 +1,56 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', '..', 'test_helper.rb'))
2
+
3
+ class HasKeyTest < Test::Unit::TestCase
4
+
5
+ include KoiVM
6
+
7
+ test "should return true as hash has key" do
8
+ vm = VM.new
9
+ vm.data_stack = [[HASH_, {[INTEGER_, 1] => [STRING_, "yay"]}], [INTEGER_, 1]]
10
+ vm.run [
11
+ HAS_KEY
12
+ ]
13
+ assert_equal [[BOOL_, true]], vm.data_stack
14
+ assert_equal 1, vm.instruction_pointer
15
+ end
16
+
17
+ test "should return false as hash does not have key" do
18
+ vm = VM.new
19
+ vm.data_stack = [[HASH_, {}], [INTEGER_, 1]]
20
+ vm.run [
21
+ HAS_KEY
22
+ ]
23
+ assert_equal [[BOOL_, false]], vm.data_stack
24
+ assert_equal 1, vm.instruction_pointer
25
+ end
26
+
27
+ test "should raise StackError if stack[-2] is not a hash" do
28
+ assert_raises StackError do
29
+ vm = VM.new
30
+ vm.data_stack = [[INTEGER_, 1], [INTEGER_, 1]]
31
+ vm.run [
32
+ HAS_KEY
33
+ ]
34
+ end
35
+ end
36
+
37
+ test "should raise StackError if there is only 1 item on the stack" do
38
+ assert_raises StackError do
39
+ vm = VM.new
40
+ vm.data_stack = [[HASH_, {}]]
41
+ vm.run [
42
+ HAS_KEY
43
+ ]
44
+ end
45
+ end
46
+
47
+ test "should raise StackError if there are no items on the stack" do
48
+ assert_raises StackError do
49
+ vm = VM.new
50
+ vm.run [
51
+ HAS_KEY
52
+ ]
53
+ end
54
+ end
55
+
56
+ end
@@ -0,0 +1,46 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', '..', 'test_helper.rb'))
2
+
3
+ class LengthTest < Test::Unit::TestCase
4
+
5
+ include KoiVM
6
+
7
+ test "should return value of highest integer key + 1" do
8
+ vm = VM.new
9
+ vm.data_stack = [[HASH_, {[INTEGER_, 1] => [STRING_, "yay"], [INTEGER_, 2] => [STRING_, "yay"], [INTEGER_, 6] => [STRING_, "yay"]}]]
10
+ vm.run [
11
+ LENGTH
12
+ ]
13
+ assert_equal [[INTEGER_, 7]], vm.data_stack
14
+ assert_equal 1, vm.instruction_pointer
15
+ end
16
+
17
+ test "should return 0" do
18
+ vm = VM.new
19
+ vm.data_stack = [[HASH_, {[STRING_, "1"] => [STRING_, "yay"], [STRING_, "2"] => [STRING_, "yay"], [STRING_, "3"] => [STRING_, "yay"]}]]
20
+ vm.run [
21
+ LENGTH
22
+ ]
23
+ assert_equal [[INTEGER_, 0]], vm.data_stack
24
+ assert_equal 1, vm.instruction_pointer
25
+ end
26
+
27
+ test "should raise StackError if stack[-1] is not a hash" do
28
+ assert_raises StackError do
29
+ vm = VM.new
30
+ vm.data_stack = [[INTEGER_, 1]]
31
+ vm.run [
32
+ LENGTH
33
+ ]
34
+ end
35
+ end
36
+
37
+ test "should raise StackError if there are no items on the stack" do
38
+ assert_raises StackError do
39
+ vm = VM.new
40
+ vm.run [
41
+ LENGTH
42
+ ]
43
+ end
44
+ end
45
+
46
+ end
@@ -0,0 +1,46 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', '..', 'test_helper.rb'))
2
+
3
+ class NumPairsTest < Test::Unit::TestCase
4
+
5
+ include KoiVM
6
+
7
+ test "should return number of key-value pairs in hash" do
8
+ vm = VM.new
9
+ vm.data_stack = [[HASH_, {[INTEGER_, 1] => [STRING_, "yay"], [INTEGER_, 2] => [STRING_, "yay"], [INTEGER_, 6] => [STRING_, "yay"]}]]
10
+ vm.run [
11
+ NUM_PAIRS
12
+ ]
13
+ assert_equal [[INTEGER_, 3]], vm.data_stack
14
+ assert_equal 1, vm.instruction_pointer
15
+ end
16
+
17
+ test "should return 0" do
18
+ vm = VM.new
19
+ vm.data_stack = [[HASH_, {}]]
20
+ vm.run [
21
+ NUM_PAIRS
22
+ ]
23
+ assert_equal [[INTEGER_, 0]], vm.data_stack
24
+ assert_equal 1, vm.instruction_pointer
25
+ end
26
+
27
+ test "should raise StackError if stack[-1] is not a hash" do
28
+ assert_raises StackError do
29
+ vm = VM.new
30
+ vm.data_stack = [[INTEGER_, 1]]
31
+ vm.run [
32
+ NUM_PAIRS
33
+ ]
34
+ end
35
+ end
36
+
37
+ test "should raise StackError if there are no items on the stack" do
38
+ assert_raises StackError do
39
+ vm = VM.new
40
+ vm.run [
41
+ NUM_PAIRS
42
+ ]
43
+ end
44
+ end
45
+
46
+ end
@@ -0,0 +1,67 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', '..', 'test_helper.rb'))
2
+
3
+ class PairsTest < Test::Unit::TestCase
4
+
5
+ include KoiVM
6
+
7
+ test "should return new hash containing all the pairs from the previous hash with numeric indices" do
8
+ vm = VM.new
9
+ vm.data_stack = [
10
+ [HASH_, {
11
+ [INTEGER_, 1] => [STRING_, "yay"],
12
+ [INTEGER_, 2] => [STRING_, "yay"],
13
+ [INTEGER_, 6] => [STRING_, "yay"]
14
+ }]
15
+ ]
16
+ vm.run [
17
+ PAIRS
18
+ ]
19
+ assert_equal [
20
+ [HASH_, {
21
+ [INTEGER_, 0] => [ HASH_, {
22
+ [INTEGER_, 0] => [INTEGER_, 1],
23
+ [INTEGER_, 1] => [STRING_, "yay"]
24
+ }],
25
+ [INTEGER_, 1] => [ HASH_, {
26
+ [INTEGER_, 0] => [INTEGER_, 2],
27
+ [INTEGER_, 1] => [STRING_, "yay"]
28
+ }],
29
+ [INTEGER_, 2] => [ HASH_, {
30
+ [INTEGER_, 0] => [INTEGER_, 6],
31
+ [INTEGER_, 1] => [STRING_, "yay"]
32
+ }]
33
+ }]
34
+ ], vm.data_stack
35
+ assert_equal 1, vm.instruction_pointer
36
+ end
37
+
38
+ test "should return empty hash" do
39
+ vm = VM.new
40
+ vm.data_stack = [[HASH_, {}]]
41
+ vm.run [
42
+ PAIRS
43
+ ]
44
+ assert_equal [[HASH_, {}]], vm.data_stack
45
+ assert_equal 1, vm.instruction_pointer
46
+ end
47
+
48
+ test "should raise StackError if stack[-1] is not a hash" do
49
+ assert_raises StackError do
50
+ vm = VM.new
51
+ vm.data_stack = [[INTEGER_, 1]]
52
+ vm.run [
53
+ PAIRS
54
+ ]
55
+ end
56
+ end
57
+
58
+ test "should raise StackError if there are no items on the stack" do
59
+ assert_raises StackError do
60
+ vm = VM.new
61
+ vm.run [
62
+ PAIRS
63
+ ]
64
+ end
65
+ end
66
+
67
+ end
@@ -0,0 +1,16 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', '..', 'test_helper.rb'))
2
+
3
+ class PushHashTest < Test::Unit::TestCase
4
+
5
+ include KoiVM
6
+
7
+ test "should push hash onto stack" do
8
+ vm = VM.new
9
+ vm.run [
10
+ PUSH_HASH
11
+ ]
12
+ assert_equal [[HASH_, {}]], vm.data_stack
13
+ assert_equal 1, vm.instruction_pointer
14
+ end
15
+
16
+ end
@@ -0,0 +1,56 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', '..', 'test_helper.rb'))
2
+
3
+ class SetKeyTest < Test::Unit::TestCase
4
+
5
+ include KoiVM
6
+
7
+ test "should set key in hash" do
8
+ vm = VM.new
9
+ vm.data_stack = [[HASH_, {}], [INTEGER_, 1], [STRING_, "yay"]]
10
+ vm.run [
11
+ SET_KEY
12
+ ]
13
+ assert_equal [[HASH_, {[INTEGER_, 1] => [STRING_, "yay"]}]], vm.data_stack
14
+ assert_equal 1, vm.instruction_pointer
15
+ end
16
+
17
+ test "should raise StackError if stack[-3] is not a hash" do
18
+ assert_raises StackError do
19
+ vm = VM.new
20
+ vm.data_stack = [[INTEGER_, 1], [INTEGER_, 1], [STRING_, "yay"]]
21
+ vm.run [
22
+ SET_KEY
23
+ ]
24
+ end
25
+ end
26
+
27
+ test "should raise StackError if there are only 2 items on the stack" do
28
+ assert_raises StackError do
29
+ vm = VM.new
30
+ vm.data_stack = [[HASH_, {}], [INTEGER_, 1]]
31
+ vm.run [
32
+ SET_KEY
33
+ ]
34
+ end
35
+ end
36
+
37
+ test "should raise StackError if there is only 1 item on the stack" do
38
+ assert_raises StackError do
39
+ vm = VM.new
40
+ vm.data_stack = [[HASH_, {}]]
41
+ vm.run [
42
+ SET_KEY
43
+ ]
44
+ end
45
+ end
46
+
47
+ test "should raise StackError if there are no items on the stack" do
48
+ assert_raises StackError do
49
+ vm = VM.new
50
+ vm.run [
51
+ SET_KEY
52
+ ]
53
+ end
54
+ end
55
+
56
+ end
@@ -49,6 +49,24 @@ class TypeofTest < Test::Unit::TestCase
49
49
  assert_equal [[STRING_, "string"]], vm.data_stack
50
50
  end
51
51
 
52
+ test "should push string representing type of topmost stack item onto the stack (hash)" do
53
+ vm = VM.new
54
+ vm.data_stack = [[HASH_, {}]]
55
+ vm.run [
56
+ TYPEOF
57
+ ]
58
+ assert_equal [[STRING_, "hash"]], vm.data_stack
59
+ end
60
+
61
+ test "should push string representing type of topmost stack item onto the stack (function)" do
62
+ vm = VM.new
63
+ vm.data_stack = [[FUNCTION_, 12]]
64
+ vm.run [
65
+ TYPEOF
66
+ ]
67
+ assert_equal [[STRING_, "function"]], vm.data_stack
68
+ end
69
+
52
70
  test "should raise StackError if there are no items on the stack" do
53
71
  assert_raises StackError do
54
72
  vm = VM.new
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 3
9
- version: 0.0.3
8
+ - 4
9
+ version: 0.0.4
10
10
  platform: ruby
11
11
  authors:
12
12
  - Aaron Gough
@@ -56,6 +56,13 @@ files:
56
56
  - lib/koi-vm/opcodes/function_operations/push_function.rb
57
57
  - lib/koi-vm/opcodes/function_operations/return.rb
58
58
  - lib/koi-vm/opcodes/function_operations/tailcall.rb
59
+ - lib/koi-vm/opcodes/hash_operations/get_key.rb
60
+ - lib/koi-vm/opcodes/hash_operations/has_key.rb
61
+ - lib/koi-vm/opcodes/hash_operations/length.rb
62
+ - lib/koi-vm/opcodes/hash_operations/num_pairs.rb
63
+ - lib/koi-vm/opcodes/hash_operations/pairs.rb
64
+ - lib/koi-vm/opcodes/hash_operations/push_hash.rb
65
+ - lib/koi-vm/opcodes/hash_operations/set_key.rb
59
66
  - lib/koi-vm/opcodes/io_operations/gets.rb
60
67
  - lib/koi-vm/opcodes/io_operations/print.rb
61
68
  - lib/koi-vm/opcodes/math_operations/add.rb
@@ -98,6 +105,13 @@ files:
98
105
  - test/unit/opcodes/function_operations/push_function_test.rb
99
106
  - test/unit/opcodes/function_operations/return_test.rb
100
107
  - test/unit/opcodes/function_operations/tailcall_test.rb
108
+ - test/unit/opcodes/hash_operations/get_key_test.rb
109
+ - test/unit/opcodes/hash_operations/has_key_test.rb
110
+ - test/unit/opcodes/hash_operations/length_test.rb
111
+ - test/unit/opcodes/hash_operations/num_pairs_test.rb
112
+ - test/unit/opcodes/hash_operations/pairs_test.rb
113
+ - test/unit/opcodes/hash_operations/push_hash_test.rb
114
+ - test/unit/opcodes/hash_operations/set_key_test.rb
101
115
  - test/unit/opcodes/io_operations/gets_test.rb
102
116
  - test/unit/opcodes/io_operations/print_test.rb
103
117
  - test/unit/opcodes/math_operations/add_test.rb
@@ -174,6 +188,13 @@ test_files:
174
188
  - test/unit/opcodes/function_operations/push_function_test.rb
175
189
  - test/unit/opcodes/function_operations/return_test.rb
176
190
  - test/unit/opcodes/function_operations/tailcall_test.rb
191
+ - test/unit/opcodes/hash_operations/get_key_test.rb
192
+ - test/unit/opcodes/hash_operations/has_key_test.rb
193
+ - test/unit/opcodes/hash_operations/length_test.rb
194
+ - test/unit/opcodes/hash_operations/num_pairs_test.rb
195
+ - test/unit/opcodes/hash_operations/pairs_test.rb
196
+ - test/unit/opcodes/hash_operations/push_hash_test.rb
197
+ - test/unit/opcodes/hash_operations/set_key_test.rb
177
198
  - test/unit/opcodes/io_operations/gets_test.rb
178
199
  - test/unit/opcodes/io_operations/print_test.rb
179
200
  - test/unit/opcodes/math_operations/add_test.rb