Release Notes: Line-aware parsing (without the offside rule) has been simplified in response to user feedback. A related bug that affected automatic token generation has been fixed.
Release Notes: Version 3.2, which was not announced separately here, addressed a problem with the cloning of matcher graphs when used from a non-root node. Version 3.2.1 then fixed a related problem with loop detection in graphs. Together these releases improve LEPL's handling of recursive grammars. They also include support code related to whitespace significant parsing (also known as the "offside rule") and improved documentation for logging and error messages.
Release Notes: Streams, which can wrap input text and carry information about source, line number, etc., have been rewritten, with a cleaner design. They are now better documented, with clearer interfaces (abstract classes), and are intended to support handling the “offside rule” in a later release. Small bugfixes and minor improvements have been made throughout the code.
Release Notes: Parts of parsers can now be compiled to regular expressions. A detailed example shows how the different configurations affect parser generation and parsing speeds. In that example, using compilation to a DFA-based regular expression reduces the time to parse an expression by a factor of three.
Release Notes: This release improves performance. Typical parsers are now twice as fast (improved constant factor) while left recursive grammars are re–arranged to avoid unnecessary deep recursion (improved "big-O" performance, with one test case improved by a factor of 40).