r-fxxk 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.
- data/Gemfile +3 -4
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/lib/r-fxxk.rb +8 -3
- data/r-fxxk.gemspec +20 -24
- data/spec/r-fxxk_spec.rb +4 -0
- metadata +26 -23
- data/Gemfile.lock +0 -28
data/Gemfile
CHANGED
@@ -6,8 +6,7 @@ source "http://rubygems.org"
|
|
6
6
|
# Add dependencies to develop your gem here.
|
7
7
|
# Include everything needed to run rake, tests, features, etc.
|
8
8
|
group :development do
|
9
|
-
gem "rspec"
|
10
|
-
gem "bundler"
|
11
|
-
gem "jeweler"
|
12
|
-
gem "rcov", ">= 0"
|
9
|
+
gem "rspec"
|
10
|
+
gem "bundler"
|
11
|
+
gem "jeweler"
|
13
12
|
end
|
data/Rakefile
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
data/lib/r-fxxk.rb
CHANGED
@@ -24,13 +24,18 @@ class BrainFuck
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def compile(src)
|
27
|
+
BrainFuck.new.translate(self, src)
|
28
|
+
end
|
29
|
+
|
30
|
+
def translate(other, src)
|
31
|
+
other = other.new if other.kind_of?(Class)
|
27
32
|
cur = 0
|
28
|
-
inv = operations.invert
|
29
|
-
reg = Regexp.compile "(#{operations.values.map{|v| Regexp.quote(v) }.join('|')})"
|
33
|
+
inv = other.operations.invert
|
34
|
+
reg = Regexp.compile "(#{other.operations.values.map{|v| Regexp.quote(v) }.join('|')})"
|
30
35
|
dst = ''
|
31
36
|
while matches = reg.match(src, cur)
|
32
37
|
op = inv[matches[1]]
|
33
|
-
dst +=
|
38
|
+
dst += operations[op]
|
34
39
|
cur = src.index(reg, cur) + matches[1].length
|
35
40
|
end
|
36
41
|
dst
|
data/r-fxxk.gemspec
CHANGED
@@ -4,14 +4,14 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "0.
|
7
|
+
s.name = "r-fxxk"
|
8
|
+
s.version = "0.2.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = [
|
12
|
-
s.date =
|
13
|
-
s.description =
|
14
|
-
s.email =
|
11
|
+
s.authors = ["masarakki"]
|
12
|
+
s.date = "2012-04-17"
|
13
|
+
s.description = "generate your own brain-fxxk-like language"
|
14
|
+
s.email = "masaki@hisme.net"
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE.txt",
|
17
17
|
"README.rdoc"
|
@@ -20,7 +20,6 @@ Gem::Specification.new do |s|
|
|
20
20
|
".document",
|
21
21
|
".rspec",
|
22
22
|
"Gemfile",
|
23
|
-
"Gemfile.lock",
|
24
23
|
"LICENSE.txt",
|
25
24
|
"README.rdoc",
|
26
25
|
"Rakefile",
|
@@ -33,31 +32,28 @@ Gem::Specification.new do |s|
|
|
33
32
|
"spec/test_data/hello.mona",
|
34
33
|
"spec/test_data/hello.ook"
|
35
34
|
]
|
36
|
-
s.homepage =
|
37
|
-
s.licenses = [
|
38
|
-
s.require_paths = [
|
39
|
-
s.rubygems_version =
|
40
|
-
s.summary =
|
35
|
+
s.homepage = "http://github.com/masarakki/r-fxxk"
|
36
|
+
s.licenses = ["MIT"]
|
37
|
+
s.require_paths = ["lib"]
|
38
|
+
s.rubygems_version = "1.8.21"
|
39
|
+
s.summary = "generate your own brain-fxxk-like language"
|
41
40
|
|
42
41
|
if s.respond_to? :specification_version then
|
43
42
|
s.specification_version = 3
|
44
43
|
|
45
44
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
46
|
-
s.add_development_dependency(%q<rspec>, ["
|
47
|
-
s.add_development_dependency(%q<bundler>, ["
|
48
|
-
s.add_development_dependency(%q<jeweler>, ["
|
49
|
-
s.add_development_dependency(%q<rcov>, [">= 0"])
|
45
|
+
s.add_development_dependency(%q<rspec>, [">= 0"])
|
46
|
+
s.add_development_dependency(%q<bundler>, [">= 0"])
|
47
|
+
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
50
48
|
else
|
51
|
-
s.add_dependency(%q<rspec>, ["
|
52
|
-
s.add_dependency(%q<bundler>, ["
|
53
|
-
s.add_dependency(%q<jeweler>, ["
|
54
|
-
s.add_dependency(%q<rcov>, [">= 0"])
|
49
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
50
|
+
s.add_dependency(%q<bundler>, [">= 0"])
|
51
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
55
52
|
end
|
56
53
|
else
|
57
|
-
s.add_dependency(%q<rspec>, ["
|
58
|
-
s.add_dependency(%q<bundler>, ["
|
59
|
-
s.add_dependency(%q<jeweler>, ["
|
60
|
-
s.add_dependency(%q<rcov>, [">= 0"])
|
54
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
55
|
+
s.add_dependency(%q<bundler>, [">= 0"])
|
56
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
61
57
|
end
|
62
58
|
end
|
63
59
|
|
data/spec/r-fxxk_spec.rb
CHANGED
@@ -44,6 +44,9 @@ describe BrainFuck do
|
|
44
44
|
it "fuck(hello.mona) should be 'Hello World\\n'" do
|
45
45
|
subject.fuck(src('hello.mona')).should eq "Hello World!\n"
|
46
46
|
end
|
47
|
+
it "translate(BrainFuck.new, hello.bf) should == hello.mona" do
|
48
|
+
subject.translate(BrainFuck, src('hello.bf')).strip.should eq src('hello.mona').strip
|
49
|
+
end
|
47
50
|
end
|
48
51
|
|
49
52
|
context 'customized class' do
|
@@ -60,4 +63,5 @@ describe BrainFuck do
|
|
60
63
|
subject.fuck(src('hello.ook')).should eq "Hello World!\n"
|
61
64
|
end
|
62
65
|
end
|
66
|
+
|
63
67
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: r-fxxk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,52 +9,56 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2012-04-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - ! '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
21
|
+
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: bundler
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
|
-
- -
|
35
|
+
- - ! '>='
|
31
36
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
37
|
+
version: '0'
|
33
38
|
type: :development
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: jeweler
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
|
-
- -
|
51
|
+
- - ! '>='
|
42
52
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
53
|
+
version: '0'
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
name: rcov
|
49
|
-
requirement: &13422720 !ruby/object:Gem::Requirement
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
57
|
none: false
|
51
58
|
requirements:
|
52
59
|
- - ! '>='
|
53
60
|
- !ruby/object:Gem::Version
|
54
61
|
version: '0'
|
55
|
-
type: :development
|
56
|
-
prerelease: false
|
57
|
-
version_requirements: *13422720
|
58
62
|
description: generate your own brain-fxxk-like language
|
59
63
|
email: masaki@hisme.net
|
60
64
|
executables: []
|
@@ -66,7 +70,6 @@ files:
|
|
66
70
|
- .document
|
67
71
|
- .rspec
|
68
72
|
- Gemfile
|
69
|
-
- Gemfile.lock
|
70
73
|
- LICENSE.txt
|
71
74
|
- README.rdoc
|
72
75
|
- Rakefile
|
@@ -93,7 +96,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
93
96
|
version: '0'
|
94
97
|
segments:
|
95
98
|
- 0
|
96
|
-
hash: -
|
99
|
+
hash: -1022431185
|
97
100
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
98
101
|
none: false
|
99
102
|
requirements:
|
@@ -102,7 +105,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
102
105
|
version: '0'
|
103
106
|
requirements: []
|
104
107
|
rubyforge_project:
|
105
|
-
rubygems_version: 1.8.
|
108
|
+
rubygems_version: 1.8.21
|
106
109
|
signing_key:
|
107
110
|
specification_version: 3
|
108
111
|
summary: generate your own brain-fxxk-like language
|
data/Gemfile.lock
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
GEM
|
2
|
-
remote: http://rubygems.org/
|
3
|
-
specs:
|
4
|
-
diff-lcs (1.1.3)
|
5
|
-
git (1.2.5)
|
6
|
-
jeweler (1.6.4)
|
7
|
-
bundler (~> 1.0)
|
8
|
-
git (>= 1.2.5)
|
9
|
-
rake
|
10
|
-
rake (0.9.2)
|
11
|
-
rcov (0.9.11)
|
12
|
-
rspec (2.3.0)
|
13
|
-
rspec-core (~> 2.3.0)
|
14
|
-
rspec-expectations (~> 2.3.0)
|
15
|
-
rspec-mocks (~> 2.3.0)
|
16
|
-
rspec-core (2.3.1)
|
17
|
-
rspec-expectations (2.3.0)
|
18
|
-
diff-lcs (~> 1.1.2)
|
19
|
-
rspec-mocks (2.3.0)
|
20
|
-
|
21
|
-
PLATFORMS
|
22
|
-
ruby
|
23
|
-
|
24
|
-
DEPENDENCIES
|
25
|
-
bundler (~> 1.0.0)
|
26
|
-
jeweler (~> 1.6.4)
|
27
|
-
rcov
|
28
|
-
rspec (~> 2.3.0)
|