reli 0.1.0 → 0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1a0fb586075cf3099e9f077c21b304966bf7a5fd
4
- data.tar.gz: d59b355fdf0efed3f88435cc12735de843091e25
3
+ metadata.gz: 86c2aa64f8ac2610503fc3da8449f1b1574b023e
4
+ data.tar.gz: 9e409081e0c9efeb720e4f6fca58212a0507d58f
5
5
  SHA512:
6
- metadata.gz: ed73d624f8459e2579b319272f0720c803abdcaae46a026903cef11fb663d0115a56f329313c3c181ac6fbac067f5f67fe60f58535666e8782ef19e49d464b1c
7
- data.tar.gz: 098c579d6eb42b900173f42d3872d49eb852d7c386d2bdbb9f92d40654d8d37f9b60695f8c2b96bfd27ffdf525ad6de0bf15a58a14cfb031dac3753342100858
6
+ metadata.gz: da0b624c4dd332e08f66ef818ec300a608785a543f6d2b211b8bff5962386f66d74a0efdf2528cc60e6ef3f74410d02dd9d6de904ec2b9733bb20b210694345b
7
+ data.tar.gz: 54cd93702344a79a9a944f8895b33b8332a7ae737b0f6626bd94b0aea5e216c86ab09a3185d4ee17843095f9c8ee35eb40fbaf5bb31a5eba9857f8caa3431ae7
data/.travis.yml ADDED
@@ -0,0 +1,14 @@
1
+ lang: ruby
2
+ before_install: gem install bundler --pre
3
+ install:
4
+ - gem update --system
5
+ - bundle update
6
+ rvm:
7
+ - 2.0.0
8
+ - 1.9.2
9
+ notifications:
10
+ recipients:
11
+ - namusyaka@gmail.com
12
+ branches:
13
+ only:
14
+ - master
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source 'https://rubygems.org'
2
+ gemspec
data/README.md ADDED
@@ -0,0 +1,115 @@
1
+ # RELI (Ruby Esoteric Language Implementation)
2
+
3
+ [![Build Status](https://travis-ci.org/namusyaka/reli.png)](https://travis-ci.org/namusyaka/reli)
4
+
5
+ Generic interface for Esoteric Language Implementations which is written in Ruby.
6
+
7
+ ## Installation
8
+
9
+ Add this line to your Gemfile.
10
+
11
+ `gem 'reli'`
12
+
13
+ Then execute.
14
+
15
+ `$ bundle`
16
+
17
+ Or execute this.
18
+
19
+ `$ gem install reli`
20
+
21
+ ## Usage
22
+
23
+ ### Basic
24
+
25
+ `type:` support `:brainfuck`, `:ook`, and `:monamona`.
26
+
27
+ ```ruby
28
+ require 'reli'
29
+
30
+ brainfuck = RELI.new(type: :brainfuck)
31
+ source = "+++++++++[>++++++++<-]>.<++++[>+++++++<-]>+.+++++++..+++.<++++++++[>----------<-]>+.<+++++++[>++++++++<-]>-.<+++++[>+++++<-]>-.+++.------.--------.<++++++++[>--------<-]>---."
32
+ brainfuck.run(source) #=> Hello World!
33
+ ```
34
+
35
+ ### only Brainf*ck
36
+
37
+ ```ruby
38
+ require 'reli/brainfuck'
39
+
40
+ brainfuck = RELI::Brainfuck.new
41
+ source = "+++++++++[>++++++++<-]>.<++++[>+++++++<-]>+.+++++++..+++.<++++++++[>----------<-]>+.<+++++++[>++++++++<-]>-.<+++++[>+++++<-]>-.+++.------.--------.<++++++++[>--------<-]>---."
42
+ brainfuck.run(source) #=> Hello World!
43
+ ```
44
+
45
+ ### Ook!
46
+
47
+ ```ruby
48
+ require 'reli/ook'
49
+
50
+ ook = RELI::Ook.new
51
+ source = <<OOK
52
+ Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
53
+ Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook. Ook?
54
+ Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
55
+ Ook. Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
56
+ Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
57
+ Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook.
58
+ Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook! Ook? Ook!
59
+ Ook. Ook? Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook.
60
+ Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
61
+ Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook.
62
+ Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook! Ook.
63
+ Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
64
+ Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
65
+ Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook.
66
+ Ook. Ook? Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook.
67
+ Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
68
+ Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
69
+ Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook.
70
+ Ook! Ook. Ook. Ook? Ook! Ook.
71
+ OOK
72
+ ook.run(source) #=> Hello World!
73
+ ```
74
+
75
+ ### MONAmona
76
+
77
+ ```ruby
78
+ require 'reli/monamona'
79
+
80
+ mona = RELI::Monamona.new
81
+ source = "NNNNNNNNNNnMNNNNNNNMNNNNNNNNNNMNNNMNOOOOAaMNNoMNoNNNNNNNooNNNoMNNoOONNNNNNNNNNNNNNNoMoNNNoAAAAAAoAAAAAAAAoMNo"
82
+ mona.run(source) #=> Hello World!
83
+ ```
84
+
85
+ ### Malbolge
86
+
87
+ ```ruby
88
+ require 'reli/malbolge'
89
+
90
+ malbolge = RELI::Malbolge.new
91
+ source = "(=<`#9]~6ZY32V6/S3,Pq)M'&Jk#Gh~De{z@>`v*;yKw%ut4Uqp0/ml>jibgIedFFaZB^{@[ZfXWV98Mqpo31kj.DCgT"
92
+ malbolge.run(source) #=> Hello World!
93
+ ```
94
+
95
+ ## TODO
96
+
97
+ * support other esoteric languages
98
+ * RSpec test is insufficient.
99
+
100
+ ## Contributing
101
+
102
+ 1. fork the project.
103
+ 2. create your feature branch. (`git checkout -b my-feature`)
104
+ 3. commit your changes. (`git commit -am 'commit message'`)
105
+ 4. push to the branch. (`git push origin my-feature`
106
+ 5. send pull request.
107
+
108
+ ## Authors
109
+
110
+ * namusyaka
111
+ * pixie-grasper
112
+
113
+ ## License
114
+
115
+ the MIT License
data/Rakefile ADDED
@@ -0,0 +1,8 @@
1
+ require 'rspec/core/rake_task'
2
+
3
+ desc "Run all specs."
4
+ RSpec::Core::RakeTask.new(:rspec) do |spec|
5
+ spec.pattern = 'spec/*_spec.rb'
6
+ spec.rspec_opts = %w(--format p --color)
7
+ end
8
+ task :default => :rspec
@@ -0,0 +1,34 @@
1
+
2
+ module RELI
3
+ class Abstract
4
+ def initialize(options = {})
5
+ @memory = []
6
+ @buffer = []
7
+ @pointer = 0; @memory[0] = 0
8
+ @size = 1
9
+ @break = 0
10
+ end
11
+
12
+ def run(code)
13
+ @code = code.split(//u)
14
+ @index = 0
15
+ code_length = @code.length
16
+ while @index < code_length do
17
+ method_name = "exec_#{@code[@index, @size].join}"
18
+ @index += @break
19
+ next unless respond_to?(method_name)
20
+ send(method_name)
21
+ end
22
+ @buffer.join
23
+ end
24
+
25
+ def self.on(char, &block)
26
+ define_method "exec_#{char}", &block
27
+ end
28
+
29
+ def self.change(new, old)
30
+ old_method = instance_method("exec_#{old}")
31
+ define_method("exec_#{new}", old_method)
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,72 @@
1
+ require 'reli/abstract'
2
+
3
+ module RELI
4
+ class Brainfuck < Abstract
5
+
6
+ on(?+) do
7
+ @memory[@pointer] += 1
8
+ @index += @size
9
+ end
10
+
11
+ on(?-) do
12
+ @memory[@pointer] -= 1
13
+ @index += @size
14
+ end
15
+
16
+ on(?>) do
17
+ @pointer += 1
18
+ @index += @size
19
+ @memory[@pointer] = 0 unless @memory[@pointer]
20
+ end
21
+
22
+ on(?<) do
23
+ @pointer -= 1
24
+ @index += @size
25
+ raise "Error: Pointer received a negative number." if @pointer < 0
26
+ end
27
+
28
+ on(?.) do
29
+ @buffer[@buffer.length] = @memory[@pointer].chr
30
+ @index += @size
31
+ end
32
+
33
+ on(?,) do
34
+ str = $stdin.getc
35
+ @memory[@pointer] = str ? str.ord : 0;
36
+ @index += @size
37
+ end
38
+
39
+ on(?[) do
40
+ if @memory[@pointer] == 0
41
+ counter = 1
42
+ while counter != 0 do
43
+ @index += @size
44
+ current = @code[@index, @size].join
45
+ if current == ?[
46
+ counter += 1
47
+ elsif current == ?]
48
+ counter -= 1
49
+ end
50
+ end
51
+ end
52
+ @index += @size
53
+ end
54
+
55
+ on(?]) do
56
+ if @memory[@pointer] != 0
57
+ counter = 1
58
+ while 0 < counter do
59
+ @index -= @size
60
+ current = @code[@index, @size].join
61
+ if current == ?[
62
+ counter -= 1
63
+ elsif current == ?]
64
+ counter += 1
65
+ end
66
+ end
67
+ else
68
+ @index += @size
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,88 @@
1
+ module RELI
2
+ class Malbolge
3
+ def initialize(options = {})
4
+ end
5
+
6
+ def run(code_)
7
+ code = code_.split(//u).map(&:ord)
8
+ @a = 0
9
+ @c = 0
10
+ @d = 0
11
+
12
+ # load step
13
+ @buffer = []
14
+ @memory = []
15
+ for char in code
16
+ case crypt1 op char
17
+ when 42, 47, 60, 105, 106, 111, 112, 118
18
+ @memory[@c] = char
19
+ else
20
+ # error
21
+ next
22
+ end
23
+ @c += 1
24
+ end
25
+
26
+ while @c < 3**10
27
+ @memory[@c] = crz @memory[@c - 2], @memory[@c - 1]
28
+ @c += 1
29
+ end
30
+
31
+ # run
32
+ @c = 0
33
+ while (crypt1 op @memory[@c]) != 118
34
+ case crypt1 op @memory[@c]
35
+ when 106
36
+ @d = @memory[@d]
37
+ when 104
38
+ @c = @memory[@d]
39
+ when 42
40
+ rotr
41
+ @a = @memory[@d]
42
+ when 112
43
+ @a = @memory[@d] = crz(@memory[@d], @a)
44
+ when 60
45
+ @buffer[@buffer.length] = (@a.modulo 256).chr
46
+ when 47
47
+ @a = $stdin.getc.ord
48
+ end
49
+ @memory[@c] = crypt2 (@memory[@c] - 33).modulo 94
50
+ @c = inc(@c)
51
+ @d = inc(@d)
52
+ end
53
+
54
+ @buffer.join
55
+ end
56
+
57
+ def crypt1(m)
58
+ "+b(29e*j1VMEKLyC})8&m#~W>qxdRp0wkrUo[D7,XTcA\"lI.v%{gJh4G\\-=O@5`_3i<?Z';FNQuY]szf$!BS/|t:Pn6^Ha".split(//)[m].ord
59
+ end
60
+
61
+ def crypt2(m)
62
+ "5z]&gqtyfr$(we4{WP)H-Zn,[%\\3dL+Q;>U!pJS72FhOA1CB6v^=I_0/8|jsb9m<.TVac`uY*MK'X~xDl}REokN:#?G\"i@".split(//)[m].ord
63
+ end
64
+
65
+ def crz(a, b)
66
+ [a, b].map { |item|
67
+ sprintf("%010d", item.to_s(3).to_i).split(//).map { |char| char.ord - 0x30 }
68
+ }.transpose.map { |items|
69
+ ([1, 0, 0, 1, 0, 2, 2, 2, 1][items[0] * 3 + items[1]] + 0x30).chr
70
+ }.join.to_i(3)
71
+ end
72
+
73
+ def rotr()
74
+ @memory[@d] += (@memory[@d].modulo 3) * (3 ** 10)
75
+ @memory[@d] /= 3
76
+ end
77
+
78
+ def op(c)
79
+ (c - 33 + @c).modulo 94
80
+ end
81
+
82
+ def inc(n)
83
+ n += 1
84
+ n = 0 if n == 3**10
85
+ return n
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,47 @@
1
+ require 'reli/brainfuck'
2
+
3
+ module RELI
4
+ class Monamona < Brainfuck
5
+ {
6
+ ">" => "M",
7
+ "<" => "O",
8
+ "+" => "N",
9
+ "-" => "A",
10
+ "," => "m",
11
+ "." => "o"
12
+ }.each_pair{|key, value| change(value, key) }
13
+
14
+ on("n") do
15
+ if @memory[@pointer] == 0
16
+ counter = 1
17
+ while counter != 0 do
18
+ @index += @size
19
+ current = @code[@index, @size].join
20
+ if current == "n"
21
+ counter += 1
22
+ elsif current == "a"
23
+ counter -= 1
24
+ end
25
+ end
26
+ end
27
+ @index += @size
28
+ end
29
+
30
+ on("a") do
31
+ if @memory[@pointer] != 0
32
+ counter = 1
33
+ while 0 < counter do
34
+ @index -= @size
35
+ current = @code[@index, @size].join
36
+ if current == "n"
37
+ counter -= 1
38
+ elsif current == "a"
39
+ counter += 1
40
+ end
41
+ end
42
+ else
43
+ @index += @size
44
+ end
45
+ end
46
+ end
47
+ end
data/lib/reli/ook.rb ADDED
@@ -0,0 +1,54 @@
1
+ require 'reli/brainfuck'
2
+
3
+ module RELI
4
+ class Ook < Brainfuck
5
+ {
6
+ ">" => "Ook. Ook?",
7
+ "<" => "Ook? Ook.",
8
+ "+" => "Ook. Ook.",
9
+ "-" => "Ook! Ook!",
10
+ "," => "Ook. Ook!",
11
+ "." => "Ook! Ook."
12
+ }.each_pair{|key, value| change(value, key) }
13
+
14
+ def initialize(*)
15
+ super
16
+ @break = 1
17
+ @size = 9
18
+ end
19
+
20
+ on("Ook! Ook?") do
21
+ if @memory[@pointer] == 0
22
+ counter = 1
23
+ while counter != 0 do
24
+ @index += @size
25
+ current = @code[@index, @size].join
26
+ if current == "Ook! Ook?"
27
+ counter += 1
28
+ elsif current == "Ook? Ook!"
29
+ counter -= 1
30
+ end
31
+ end
32
+ end
33
+ @index += @size
34
+ end
35
+
36
+ on("Ook? Ook!") do
37
+ if @memory[@pointer] != 0
38
+ counter = 1
39
+ @index -= @break
40
+ while 0 < counter do
41
+ @index -= @size + @break
42
+ current = @code[@index, @size].join
43
+ if current == "Ook! Ook?"
44
+ counter -= 1
45
+ elsif current == "Ook? Ook!"
46
+ counter += 1
47
+ end
48
+ end
49
+ else
50
+ @index += @size
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,4 @@
1
+
2
+ module RELI
3
+ VERSION = '0.2.0'
4
+ end
data/lib/reli.rb ADDED
@@ -0,0 +1,15 @@
1
+ require 'reli/brainfuck'
2
+ require 'reli/ook'
3
+ require 'reli/monamona'
4
+ require 'reli/malbolge'
5
+
6
+ module RELI
7
+ def self.new(options = {})
8
+ type = options.delete(:type) || :brainfuck
9
+ self[type].new(options)
10
+ end
11
+
12
+ def self.[](key)
13
+ self.const_get(key.capitalize)
14
+ end
15
+ end
data/reli.gemspec ADDED
@@ -0,0 +1,17 @@
1
+ require File.expand_path("../lib/reli/version", __FILE__)
2
+
3
+ Gem::Specification.new "reli", RELI::VERSION do |s|
4
+ s.summary = "RELI (Ruby Esoteric Language Implementation)"
5
+ s.description = "Generic interface for Esoteric Language Implementations which is written in Ruby."
6
+ s.authors = %w(namusyaka pixie-grasper)
7
+ s.email = "namusyaka@gmail.com"
8
+ s.homepage = "https://github.com/namusyaka/reli"
9
+ s.files = `git ls-files`.split("\n") - %w(.gitignore)
10
+ s.test_files = s.files.select { |path| path =~ /^spec\/.*_spec\.rb/ }
11
+ s.license = "MIT"
12
+
13
+ s.add_development_dependency "rake"
14
+ s.add_development_dependency "rspec"
15
+ end
16
+
17
+
@@ -0,0 +1 @@
1
+ +++++++++[>++++++++<-]>.<++++[>+++++++<-]>+.+++++++..+++.<++++++++[>----------<-]>+.<+++++++[>++++++++<-]>-.<+++++[>+++++<-]>-.+++.------.--------.<++++++++[>--------<-]>---.
@@ -0,0 +1 @@
1
+ (=<`#9]~6ZY32V6/S3,Pq)M'&Jk#Gh~De{z@>`v*;yKw%ut4Uqp0/ml>jibgIedFFaZB^{@[ZfXWV98Mqpo31kj.DCgT
@@ -0,0 +1 @@
1
+ NNNNNNNNNNnMNNNNNNNMNNNNNNNNNNMNNNMNOOOOAaMNNoMNoNNNNNNNooNNNoMNNoOONNNNNNNNNNNNNNNoMoNNNoAAAAAAoAAAAAAAAoMNo
@@ -0,0 +1,19 @@
1
+ Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
2
+ Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook. Ook?
3
+ Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
4
+ Ook. Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
5
+ Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
6
+ Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook.
7
+ Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook! Ook? Ook!
8
+ Ook. Ook? Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook.
9
+ Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
10
+ Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook.
11
+ Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook! Ook.
12
+ Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
13
+ Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
14
+ Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook.
15
+ Ook. Ook? Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook.
16
+ Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
17
+ Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
18
+ Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook.
19
+ Ook! Ook. Ook. Ook?
data/spec/reli_spec.rb ADDED
@@ -0,0 +1,26 @@
1
+ $:.unshift(File.dirname(__FILE__))
2
+ require 'spec_helper'
3
+
4
+ module RELI
5
+ describe do
6
+ it "support brainfuck" do
7
+ bf = RELI.new(:type => :brainfuck)
8
+ expect(bf.run(hello_world(:brainfuck))).to eq("Hello World!")
9
+ end
10
+
11
+ it "support ook" do
12
+ bf = RELI.new(:type => :ook)
13
+ expect(bf.run(hello_world(:ook))).to eq("Hello World!")
14
+ end
15
+
16
+ it "support monamona" do
17
+ bf = RELI.new(:type => :monamona)
18
+ expect(bf.run(hello_world(:monamona))).to eq("Hello World!")
19
+ end
20
+
21
+ it "support malbolge" do
22
+ bf = RELI.new(:type => :malbolge)
23
+ expect(bf.run(hello_world(:malbolge))).to eq("Hello World!")
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,9 @@
1
+ require 'reli'
2
+
3
+ def fixture(filename)
4
+ File.read(File.expand_path("../fixtures/#{filename}", __FILE__)).chomp
5
+ end
6
+
7
+ def hello_world(language)
8
+ fixture("hello_world/#{language}")
9
+ end
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - namusyaka
8
+ - pixie-grasper
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-10-03 00:00:00.000000000 Z
12
+ date: 2013-10-06 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: rake
@@ -44,7 +45,25 @@ email: namusyaka@gmail.com
44
45
  executables: []
45
46
  extensions: []
46
47
  extra_rdoc_files: []
47
- files: []
48
+ files:
49
+ - .travis.yml
50
+ - Gemfile
51
+ - README.md
52
+ - Rakefile
53
+ - lib/reli.rb
54
+ - lib/reli/abstract.rb
55
+ - lib/reli/brainfuck.rb
56
+ - lib/reli/malbolge.rb
57
+ - lib/reli/monamona.rb
58
+ - lib/reli/ook.rb
59
+ - lib/reli/version.rb
60
+ - reli.gemspec
61
+ - spec/fixtures/hello_world/brainfuck
62
+ - spec/fixtures/hello_world/malbolge
63
+ - spec/fixtures/hello_world/monamona
64
+ - spec/fixtures/hello_world/ook
65
+ - spec/reli_spec.rb
66
+ - spec/spec_helper.rb
48
67
  homepage: https://github.com/namusyaka/reli
49
68
  licenses:
50
69
  - MIT
@@ -69,5 +88,6 @@ rubygems_version: 2.0.2
69
88
  signing_key:
70
89
  specification_version: 4
71
90
  summary: RELI (Ruby Esoteric Language Implementation)
72
- test_files: []
91
+ test_files:
92
+ - spec/reli_spec.rb
73
93
  has_rdoc: