Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
16 lines (12 sloc) 513 Bytes

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.