r-fxxk 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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)