the length of a match to be calculated by default, which can be a costly operation. Instead, if the user desires to ensure that all input is consumed during a parse, he should use !. or something similar; i.e. don't match anything.
1.9.2, Array#flatten expects that obj.to_ary raise NoMethodError if not defined. Redefinition of Match#method_missing broke this behavior. Also fixed include paths on tests to compensate for the lack of "." in 1.9.2's $LOAD_PATH.
…empt to match at specified offset, not throughout the remainder of the input
…. It's safer anyways to simply prefix rule names with a symbol.
… because the calculator should calculate the same result as Ruby would.
…xtension and Rule#extension= for consistency.
…hes, extended. This has two advantages: 1) Parse trees are a LOT smaller which should lead to much faster parse times and construction and 2) semantic rules are easier (and more natural) to create because they no longer need to use the 'first.value' idiom.