Permalink
Switch branches/tags
Nothing to show
Commits on Dec 16, 2013
  1. Regen'd parser.

    committed Dec 16, 2013
  2. Ported more grammar.

    committed Dec 16, 2013
Commits on Dec 15, 2013
  1. Added generated grammar.

    [ci skip]
    committed Dec 15, 2013
  2. Started migrating grammar from greg to kpeg.

    [ci skip]
    committed Dec 15, 2013
Commits on Dec 7, 2013
  1. Added grammar.kpeg

    committed Dec 7, 2013
Commits on Dec 6, 2013
  1. Added kpeg dependency.

    committed Dec 6, 2013
Commits on Dec 3, 2013
  1. Fixed scope of Generator.

    committed Dec 3, 2013
  2. Added .travis.yml.

    committed Dec 3, 2013
  3. Ignore Gemfile.lock.

    committed Dec 3, 2013
  4. Moved README to README.md.

    committed Dec 2, 2013
Commits on Apr 29, 2013
Commits on Dec 17, 2010
  1. Don't use 'should' in specs.

    committed Dec 17, 2010
Commits on Dec 15, 2010
  1. Removed un-used methods from Table

    vic committed Dec 15, 2010
  2. First Table implementation.

    vic committed Dec 15, 2010
  3. Remove rbc files on clean task

    vic committed Dec 15, 2010
  4. Removed machodis.pl inherited from _why's potion. We dont need machin…

    …e assembly for poison.
    vic committed Dec 15, 2010
Commits on Nov 20, 2010
  1. More closure specs.

    committed Nov 20, 2010
  2. Begin parsing closures.

    We are changing from _why's syntax for closures here. He had
    
      (a, b, ...) : statements.
    
    where the (a, b, ...) table was optional. We have
    
      : (a, b, ...) statements.
    
    where, again, the (a, b, ...) table is optional. In this new
    form, it is easy to communicate that:
    
      "A closure starts with ':' and ends with '.' and has an optional
      table of arguments as the first element after the ':'"
    
    However, this does lead to one potential ambiguity (for the user,
    not the parser). The following has an empty body, rather than a single
    statement comprised of a table:
    
      : (a, b) .
    
    To create a closure that is a single table as the first item, the
    optional table of arguments must be specified:
    
      : () (a, b) .
    
    While it would be nice to avoid this sort of case completely, it
    should be fairly rare. The tradeoff is made in the favor of the simplicity
    of describing (and identifying when reading code) what a closure is.
    
    A second reason for this syntax is that attaching a block to a message
    is much nicer. The syntax _why used could not handle the following elegantly:
    
      5 to 10 : (x) x string print.
      5 to (10, 2) : (x) x string print.
    
    because there is nothing separating the argument to #to (eg 10 or (10, 2) )
    from the argument table for the closure. Using this alternative syntax, the
    closure start token ':' nicely separates the table of arguments as part of a
    message and the table of arguments for the closure.
    committed Nov 20, 2010
Commits on Nov 19, 2010
Commits on Nov 17, 2010
  1. Add #string to String.

    committed Nov 17, 2010
  2. More operator parsing.

    committed Nov 17, 2010
Commits on Nov 16, 2010
  1. Parse arithmetic expressions.

    committed Nov 15, 2010
Commits on Nov 14, 2010
  1. Rework nil, true, false.

    committed Nov 14, 2010
Commits on Nov 13, 2010
  1. Add mspec as a dependency.

    committed Nov 13, 2010
Commits on Nov 12, 2010
  1. Basic compilation infrastructure.

    committed Nov 12, 2010