Permalink
Commits on Oct 24, 2010
  1. Bumped version to 2.0.1

    committed Oct 24, 2010
  2. Fixed ParseError message

    committed Oct 24, 2010
  3. Bumped version to 2.0

    committed Oct 24, 2010
  4. Matches no longer contain an offset.

    Calculating the offset every time a match is created can slow down the
    parse dramatically. Also, the actual offset of a match is not usually
    very useful during interpretation.
    
    The functionality was moved into citrus/debug.rb to preserve the ability
    to inspect the offset of a match when debugging.
    committed Oct 24, 2010
  5. Implemented StringScanner for scanning input strings.

    Citrus::Input now extends StringScanner which provides a big boost to
    performance. As part of this refactoring, Citrus::FixedWidth and
    Citrus::Expression were merged into Citrus::Terminal.
    
    Also, Citrus::ParseError now provides much more detailed information for
    debugging parse failures. It is now very easy to discover the line, line
    number, and exact character where the error occurred.
    committed Oct 23, 2010
Commits on Oct 22, 2010
  1. More doc tweaks.

    committed Oct 22, 2010
Commits on Oct 21, 2010
  1. Tweaked some docs.

    committed Oct 21, 2010
  2. Bumped version to 1.8.0

    committed Oct 21, 2010
  3. Updated documentation.

    committed Oct 21, 2010
  4. Ignoring api.

    committed Oct 21, 2010
Commits on Oct 14, 2010
  1. Match now subclasses String.

    committed Sep 24, 2010
Commits on Sep 30, 2010
  1. Adjusted examples.

    committed Sep 24, 2010
Commits on Sep 23, 2010
  1. Reordered arguments to more sensible order.

    The argument list to Repeat#new and Label#new needed to be reordered to
    follow a more sane model. Instead of accepting the rule as the last
    argument, they now accept the rule as the first argument just like all
    other Rule types.
    committed Sep 23, 2010
  2. Implied Rule#value method.

    If no methods are specified in an extension block, it is assumed that
    the block is to be used to define a "value" method on an anonymous
    module. This helps syntax to be much less verbose, and may be used in
    the vast majority of cases.
    committed Sep 23, 2010
Commits on Sep 20, 2010
  1. Added GrammarMethods#dot.

    committed Sep 20, 2010
Commits on Sep 19, 2010
Commits on Sep 17, 2010
Commits on Sep 8, 2010
  1. Refactored calculator examples.

    Added ability to interpret unary operators.
    committed Sep 8, 2010
  2. Refactored calculator examples.

    Added ability to understand numbers with underscores, the modulo
    operator, and exponential notation.
    committed Sep 8, 2010
  3. Updated precedence table

    committed Sep 8, 2010
Commits on Sep 4, 2010
  1. Bumped version to 1.7.0

    committed Sep 4, 2010
Commits on Sep 2, 2010
  1. Fixed headers

    committed Sep 2, 2010
  2. Rule names may contain letters, numbers, underscores, and dashes. The…

    …y MUST begin with a letter.
    
    Single digits may no longer be used at the end of rule names to indicate
    an exact number of times they must match. This essentially undoes commit
    4b5f6c9, and allows rule names to be defined more similarly to Ruby
    method names.
    committed Sep 1, 2010
Commits on Sep 1, 2010
  1. Operator precedence

    committed Sep 1, 2010
Commits on Aug 31, 2010