Parser and AST builder
Ruby
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README.md
action.rb
builder.rb
example.rb
grammars.rb
inspect.rb
rasta.rb
test.rb

README.md

Rasta

Rasta is a parser and AST builder. It allows grammars to be programmed using a DSL inside ruby and annotated to produce clean ASTs. Grammars are created by composing native ruby objects, meaning they are fully dynamic and can be even be built interactively.

Under the Hood

Rasta uses grammar combinators (implemented as messages to objects) to produce a top-down back-tracking recursive descent parser.

To prevent possible exponential running times, Rasta uses adaptive memoization.