0.0
The project is in a healthy, maintained state
Syntax Tree support for Brainf***
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
 Dependencies

Development

Runtime

 Project Readme

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.