Added a bunch of nice lex & yacc helpers to simplify the code
Rly 0.2.3

This version adds support for Lex and Yacc helpers.

You need to require helpers explicitly:

    require "rly"
    require "rly/helpers"

Currently the following lex helpers exist:

 * **ignore_spaces_and_tabs** adds an ignore statement for spaces and tabs
 * **lex_number_tokens** adds a NUMBER token that parses numeric values
 * **lex_double_quoted_string_tokens** adds a STRING token that parses "strings"

Yacc helpers are expected to be used in place of blocks, which means that you
will need to write a rule like this:

    rule 'statement : VALUE', &assign_rhs

The following helpers exist:

 * **with_values** accepts a block, which gets rhs token values. The return value
   of block is assigned to lhs token
 * **assign_rhs(idx)** assigns first (or *idx*) rhs value to lhs value, or nil if there's
   no rhs
 * **collect_to_a** collects a rule into array, see the snippet below:

    rule 'values : VALUE | VALUE values', &collect_to_a

It takes first and last rhs values, so you can have separators:

    rule 'values : VALUE | VALUE "," values', &collect_to_a