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 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", "~> 2.3.0"
10
- gem "bundler", "~> 1.0.0"
11
- gem "jeweler", "~> 1.6.4"
12
- gem "rcov", ">= 0"
9
+ gem "rspec"
10
+ gem "bundler"
11
+ gem "jeweler"
13
12
  end
data/Rakefile CHANGED
@@ -38,7 +38,7 @@ end
38
38
 
39
39
  task :default => :spec
40
40
 
41
- require 'rake/rdoctask'
41
+ require 'rdoc/task'
42
42
  Rake::RDocTask.new do |rdoc|
43
43
  version = File.exist?('VERSION') ? File.read('VERSION') : ""
44
44
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.2.0
@@ -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 += self.class.bf_mapping[op]
38
+ dst += operations[op]
34
39
  cur = src.index(reg, cur) + matches[1].length
35
40
  end
36
41
  dst
@@ -4,14 +4,14 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{r-fxxk}
8
- s.version = "0.1.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 = [%q{masarakki}]
12
- s.date = %q{2011-10-18}
13
- s.description = %q{generate your own brain-fxxk-like language}
14
- s.email = %q{masaki@hisme.net}
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 = %q{http://github.com/masarakki/r-fxxk}
37
- s.licenses = [%q{MIT}]
38
- s.require_paths = [%q{lib}]
39
- s.rubygems_version = %q{1.8.6}
40
- s.summary = %q{generate your own brain-fxxk-like language}
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>, ["~> 2.3.0"])
47
- s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
48
- s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
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>, ["~> 2.3.0"])
52
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
53
- s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
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>, ["~> 2.3.0"])
58
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
59
- s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
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
 
@@ -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.1.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: 2011-10-18 00:00:00.000000000Z
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: &13424240 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ~>
19
+ - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: 2.3.0
21
+ version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *13424240
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: &13423740 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
- - - ~>
35
+ - - ! '>='
31
36
  - !ruby/object:Gem::Version
32
- version: 1.0.0
37
+ version: '0'
33
38
  type: :development
34
39
  prerelease: false
35
- version_requirements: *13423740
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: &13423240 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
- - - ~>
51
+ - - ! '>='
42
52
  - !ruby/object:Gem::Version
43
- version: 1.6.4
53
+ version: '0'
44
54
  type: :development
45
55
  prerelease: false
46
- version_requirements: *13423240
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: -4487486720028675974
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.6
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
@@ -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)