brainfucktt 0.1.0 → 0.1.1
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/README.md +3 -2
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/brainfucktt.gemspec +2 -2
- metadata +3 -33
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Brainfucktt
|
2
2
|
|
3
|
-
A [Brainfuck][brainfuck] interpreter built in [Ruby][ruby] using [Treetop][treetop].
|
3
|
+
A [Brainfuck][brainfuck] interpreter built in [Ruby][ruby] using [Treetop][treetop] on [treetop_bootstrap][treetop_bootstrap].
|
4
4
|
|
5
5
|
Brainfuck is an eight-instruction turing-clomplete programming language created in 1993
|
6
6
|
by Urban Müller, based on the more formal programming language [P′′][p''] created by Corrado
|
@@ -94,4 +94,5 @@ The MIT License (MIT) - See LICENSE for further details.
|
|
94
94
|
[brainfuck]: http://www.muppetlabs.com/~breadbox/bf/
|
95
95
|
[ruby]: http://ruby-lang.org
|
96
96
|
[treetop]: http://treetop.rubyforge.org
|
97
|
-
[p'']: http://en.wikipedia.org/wiki/P%E2%80%B2%E2%80%B2
|
97
|
+
[p'']: http://en.wikipedia.org/wiki/P%E2%80%B2%E2%80%B2
|
98
|
+
[treetop_bootstrap]: https://github.com/RyanScottLewis/treetop_bootstrap
|
data/Rakefile
CHANGED
@@ -17,6 +17,7 @@ spec = Gem::Specification.new do |s|
|
|
17
17
|
s.author = 'Ryan Scott Lewis'
|
18
18
|
s.email = 'ryan@rynet.us'
|
19
19
|
s.summary = 'A Brainfuck interpreter built in Ruby using Treetop.'
|
20
|
+
s.description = 'A Brainfuck interpreter built using Treetop.'
|
20
21
|
|
21
22
|
# Dependencies
|
22
23
|
s.add_dependency 'treetop', '~> 1.4'
|
@@ -34,7 +35,6 @@ spec = Gem::Specification.new do |s|
|
|
34
35
|
# Pragmatically set variables
|
35
36
|
s.homepage = "http://github.com/RyanScottLewis/#{s.name}"
|
36
37
|
s.version = Pathname.glob('VERSION*').first.read
|
37
|
-
s.description = Pathname.glob('README*').first.read
|
38
38
|
s.require_paths = ['lib']
|
39
39
|
s.files = `git ls-files`.lines.to_a.collect { |s| s.strip }
|
40
40
|
s.executables = `git ls-files -- bin/*`.lines.to_a.collect { |s| File.basename(s.strip) }
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.1
|
data/brainfucktt.gemspec
CHANGED
@@ -2,12 +2,12 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "brainfucktt"
|
5
|
-
s.version = "0.1.
|
5
|
+
s.version = "0.1.1"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Ryan Scott Lewis"]
|
9
9
|
s.date = "2012-12-06"
|
10
|
-
s.description = "
|
10
|
+
s.description = "A Brainfuck interpreter built using Treetop."
|
11
11
|
s.email = "ryan@rynet.us"
|
12
12
|
s.files = ["Gemfile", "LICENSE", "README.md", "Rakefile", "VERSION", "brainfucktt.gemspec", "examples/hello_world.rb", "examples/hello_world_with_comments.rb", "examples/stringio.rb", "lib/brainfucktt.rb", "lib/brainfucktt/byte.rb", "lib/brainfucktt/conversion_helpers.rb", "lib/brainfucktt/data.rb", "lib/brainfucktt/errors.rb", "lib/brainfucktt/language.rb", "lib/brainfucktt/language/decrement_byte.rb", "lib/brainfucktt/language/decrement_pointer.rb", "lib/brainfucktt/language/increment_byte.rb", "lib/brainfucktt/language/increment_pointer.rb", "lib/brainfucktt/language/input_byte.rb", "lib/brainfucktt/language/loop.rb", "lib/brainfucktt/language/output_byte.rb", "lib/brainfucktt/language/tree.rb", "lib/brainfucktt/language_parser.treetop", "lib/brainfucktt/node.rb", "lib/brainfucktt/parser.rb"]
|
13
13
|
s.homepage = "http://github.com/RyanScottLewis/brainfucktt"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: brainfucktt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -187,37 +187,7 @@ dependencies:
|
|
187
187
|
- - ~>
|
188
188
|
- !ruby/object:Gem::Version
|
189
189
|
version: '0.7'
|
190
|
-
description:
|
191
|
-
using [Treetop][treetop].\n\nBrainfuck is an eight-instruction turing-clomplete
|
192
|
-
programming language created in 1993\nby Urban Müller, based on the more formal
|
193
|
-
programming language [P′′][p''] created by Corrado\nBöhm in 1964.\n\nIt is designed
|
194
|
-
to challenge and amuse programmers, and is not made to be suitable for \npractical
|
195
|
-
use.\n\n## Install\n\n### Bundler: `gem 'brainfucktt'`\n\n### RubyGems: `gem install
|
196
|
-
brainfucktt`\n\n## Brainfuck Instructions\n\n`>` Increment the data pointer (to
|
197
|
-
point to the next cell to the right).\n\n`<` Decrement the data pointer (to point
|
198
|
-
to the next cell to the left).\n\n`+` Increment (increase by one) the byte at the
|
199
|
-
data pointer.\n\n`-` Decrement (decrease by one) the byte at the data pointer.\n\n`.`
|
200
|
-
Output the byte at the data pointer as an ASCII encoded character.\n\n`,` Accept
|
201
|
-
one byte of input, storing its value in the byte at the data pointer.\n\n`[` If
|
202
|
-
the byte at the data pointer is zero, then instead of moving the instruction pointer
|
203
|
-
forward to the next command, jump it forward to the command after the matching `]`
|
204
|
-
command.\n\n`]` If the byte at the data pointer is nonzero, then instead of moving
|
205
|
-
the instruction pointer forward to the next command, jump it back to the command
|
206
|
-
after the matching `[` command.\n\n### Comments\n\nAny character besides one of
|
207
|
-
the 8 instructions above is not parsed and will be regarded as a comment.\n\n##
|
208
|
-
Usage\n\n### Running\n\n```ruby\nrequire 'brainfucktt'\n\n# \"Hello World!\" written
|
209
|
-
in Brainfuck\ncode = '++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.'\n\nBrainfucktt.run(code)\n```\n\n###
|
210
|
-
Parsing\n\n```ruby\nrequire 'brainfucktt'\n\n# \"Hello World!\" written in Brainfuck\ncode
|
211
|
-
= '++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.'\nparser
|
212
|
-
= Brainfucktt.parse(code)\n\n# Print out the AST of the code\np parser.tree\n\n#
|
213
|
-
Run the code within Ruby\nparser.run\n```\n\n### StringIO\n\nSometimes you do now
|
214
|
-
want to use STDIN or STDOUT for the I/O of the Brainfuck program.\n\nTo do that,
|
215
|
-
you must use the stdlib `stringio`:\n\n```ruby\nrequire 'brainfucktt'\nrequire 'stringio'\n\n#
|
216
|
-
\"Hello World!\" written in Brainfuck\ncode = '++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.'\n\noutput
|
217
|
-
= StringIO.new\nBrainfucktt.run(code, output: output)\n\np output.string # => \"Hello
|
218
|
-
World!\\n\"\n```\n\n## Copyright\n\nCopyright © 2012 Ryan Scott Lewis <ryan@rynet.us>.\n\nThe
|
219
|
-
MIT License (MIT) - See LICENSE for further details.\n\n[brainfuck]: http://www.muppetlabs.com/~breadbox/bf/\n[ruby]:
|
220
|
-
http://ruby-lang.org\n[treetop]: http://treetop.rubyforge.org\n[p'']: http://en.wikipedia.org/wiki/P%E2%80%B2%E2%80%B2"
|
190
|
+
description: A Brainfuck interpreter built using Treetop.
|
221
191
|
email: ryan@rynet.us
|
222
192
|
executables: []
|
223
193
|
extensions: []
|
@@ -263,7 +233,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
263
233
|
version: '0'
|
264
234
|
segments:
|
265
235
|
- 0
|
266
|
-
hash: -
|
236
|
+
hash: -107453280338519890
|
267
237
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
268
238
|
none: false
|
269
239
|
requirements:
|