sonic-pi
https://github.com/sonic-pi-net/sonic-pi
C++
Code. Music. Live.
Parslet::ClassMethods#rule
Define an entity for the parser. This generates a method of the same
name that can be used as part of other patterns. Those methods can be
freely mixed in your parser class with real ruby methods.
class MyParser
include Parslet
rule(:bar) { str('bar') }
rule(:twobar) do
bar >> bar
end
root :twobar
endEdit
git clone [email protected]:sonic-pi-net/sonic-pi.git
cd sonic-pi
open app/server/ruby/vendor/parslet/lib/parslet.rb
Contribute
# Make a new branchgit checkout -b -your-name--update-docs-Parslet--ClassMethods-rule-for-pr
# Commit to gitgit add app/server/ruby/vendor/parslet/lib/parslet.rbgit commit -m "better docs for Parslet::ClassMethods#rule"
# Open pull requestgem install hub # on a mac you can `brew install hub`
hub fork
git push <your name> -your-name--update-docs-Parslet--ClassMethods-rule-for-pr
hub pull-request
# Celebrate!