SyntaxTree::Bf

Build Status Gem Version

Syntax Tree support for Brainf***.

Installation

Add this line to your application's Gemfile:

gem "syntax_tree-bf"

And then execute:

$ bundle install

Or install it yourself as:

$ gem install syntax_tree-bf

Usage

From code:

require "syntax_tree/bf"

pp SyntaxTree::Bf.parse(source) # print out the AST
puts SyntaxTree::Bf.format(source) # format the AST

From the CLI:

$ stree ast --plugins=bf file.bf
(root
  (increment),
  ...
  (increment),
  (loop
    (shift_right),
    ...
    (decrement)
  ),
  (shift_right),
  ...
  (output)
)

or

$ stree format --plugins=bf file.bf
++++++++[
  >++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-
]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.

or

$ stree write --plugins=bf file.bf
file.bf 1ms

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/ruby-syntax-tree/syntax_tree-bf.

License

The gem is available as open source under the terms of the MIT License.