You can clone with
HTTPS or Subversion.
Rename PredicatedAtom class to Predicate.
Build source map with jake.
Don't create global variables on CommonJS unless there is a containin…
…g namespace that is already defined in the current scope.
Attach node types to the parser class; this provides a way for the ge…
…nerated parser to refer to them if we make it into a CommonJS module and remove globals.
Make the project layout a bit more sensible.
Bring a bunch of build/organization stuff up to date.
Add case-insensitive strings (taken from Citrus).
Update object metadata in jake.yml.
Remove the parser combinators we used to bootstrap the compiler from …
Rename project to Canopy.
Fix some minification problems and format the metagrammar.
Compile references to other grammar rules.
Compiler positive and negative lookaheads.
Compiler for choice expressions.
Add sequence element labelling to the compiler.
Compiler for repetition expressions.
Refactor repetition and sequencing nodes in the metagrammar.
Compiler for sequence expressions.
Add compiler generation for any-char wildcard.
Compiler code generation for char-class nodes.
Begin code-generating compiler; can parse a single string rule.
Refactor; move parser combinator classes into the Parser namespace.
Parser and compiler support for positive lookaheads.
Begin Compiler class that turns grammar texts into s-expressions.
Add type annotation support for generating custom node types.
Add a GrammarParser that understands rules containing references to o…
…ther rules. Only very thinly tested so far.
Add LabelParser, which wraps any other parser with a label that Seque…
…nceParser can use to create named elements.
Split source code into one file per class.
Helium-compatible build file.